<asp:LinkButton ID="lbDownloadFile" name = "lbDownloadFile" runat="server" CausesValidation="false"
onclick="lbDownloadFile_Click" />
我有这个链接按钮。点击:
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向我展示了LinkButton。
我认为自动生成的href是这里的主要问题。
@belogix评论很好
这是正常ASP .NET WebForms页面生命周期的一部分...每次发生回发时都会调用页面加载。在PageLoad之后你的事件应该开始......但是你在页面加载中做了什么可以阻止这种情况发生吗?
我认为你的页面加载方法做错了什么。可能是您的链接按钮是从页面加载事件重新加载。
示例错误
如果您使用网格视图以及网格内部的此链接按钮,那么您正在执行此操作
你的代码现在看起来像
Page_load()
{
// called here Grid bind method
}
现在,网格重新加载每个帖子。
解
现在你必须设置!IsPostBack
然后在!IsPostBack
里面调用grid绑定方法
代码看起来像
Page_load()
{
if(!IsPostBack)
{
// called here Grid bind method
}
}
这是你的问题。而且这是我的猜测。
请告诉我你是否使用任何控件(Gridview,listview等)
编辑
如果我没有在页面加载事件上编写任何代码,那么您的代码对我有用
看到
Default.aspx的
<asp:LinkButton ID="lbDownloadFile" Text="he he he" name="lbDownloadFile" runat="server" CausesValidation="false" OnClientClick="lbDownloadFile_Click"
OnClick="lbDownloadFile_Click" />
和服务器端代码是
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)
{
}
}
这对我来说很好,所以你错过了页面加载事件中的任何内容
* OnClientClick
和onclick
没有任何问题。在pageload事件中创建的问题,
请发布您的pageload
代码,否则我们无法解决。 :)
protected void Page_Load(**object sender, EventArgs e**)
{
//Code
}
不
protected void Page_Load(){}
你错过了
object sender, EventArgs e
我已经创建了演示项目并复制了相同的代码。它工作正常
<asp:LinkButton ID="lbDownloadFile" name = "lbDownloadFile" Text="Click me" runat="server" CausesValidation="false" OnClientClick="lbDownloadFile_Click"
onclick="lbDownloadFile_Click" />
在代码后面的文件
protected void lbDownloadFile_Click(object sender, EventArgs e)
{ //here is my debug pointer/breakpoint
}
我刚刚在链接按钮上添加了文字。
只需转到按钮属性并设置即可
UseSubmitBehaviour= False