asp.net点击事件中的链接按钮未触发

 

我有这个链接按钮。 点击:

 protected void lbDownloadFile_Click(object sender, EventArgs e) { //here is my debug pointer/breakpoint ......................... } 

但这个事件没有解雇。 我的Page_Load()事件正在触发。 如何解决这个问题呢?

 protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { if (Session[Antrage_AnfrageSessionNames.AgntNr] == null) { Response.Redirect("../UserSessionError.aspx"); } try { if (Request.QueryString["Kundennummer"].ToString() != null) { //If kundennummer exists in QueryString then stores it to further use kundennummer = Request.QueryString["Kundennummer"].ToString(); } } catch { kundennummer = string.Empty; } } } 

编辑:

我正在添加代码,FireFox firebug向我展示了各自的LinkBut​​ton。 在此处输入图像描述

我认为自动生成的href是这里的主要问题。

@belogix评论很好

这是正常ASP .NET WebForms页面生命周期的一部分…每次发生回发时都会调用页面加载。 在PageLoad之后你的事件应该开始……但是你在页面加载中做了什么可以阻止这种情况发生吗?

我认为你的页面加载方法做错了什么。 可能是您的链接按钮是从页面加载事件重新加载。

示例错误

如果您使用网格视图以及网格内部的此链接按钮,那么您正在执行此操作

  • 写网格绑定方法

  • 然后你在页面加载事件中调用了网格绑定方法

你的代码现在看起来像

 Page_load() { // called here Grid bind method } 

现在,网格重新加载每个post。

现在你必须设置!IsPostBack ,然后在!IsPostBack里面调用网格绑定方法

代码看起来像

 Page_load() { if(!IsPostBack) { // called here Grid bind method } } 

这是你的问题。 而且这是我的猜测。

请告诉我你是否使用任何控件(Gridview,listview等)


编辑

如果我没有在页面加载事件上编写任何代码,那么您的代码对我有用

看到

Default.aspx的

   

和服务器端代码是

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : Page { protected void Page_Load(object sender, EventArgs e) { // Empty code } protected void lbDownloadFile_Click(object sender, EventArgs e) { } } 

这对我来说很好,所以你错过了页面加载事件中的任何内容

* OnClientClickonclick没有任何问题。 在pageload事件中创建的问题,

请发布您的pageload代码,否则我们无法解决。 🙂

编辑2

  • 请检查链接按钮是否为表单元素的外部。 此链接按钮应位于表单元素内

  • 你的页面加载事件应该是

protected void Page_Load(**object sender, EventArgs e**) { //Code }

 protected void Page_Load(){} 

你错过了

 object sender, EventArgs e 

我已经创建了演示项目并复制了相同的代码。它工作正常

   

在代码后面的文件

  protected void lbDownloadFile_Click(object sender, EventArgs e) { //here is my debug pointer/breakpoint } 

我刚刚在链接按钮上添加了文字。