[英]server side click event doesn't fire on LinkButton when PostBackUrl property has been set to another page
我在使用VS 2010的网页上放置了一个名为“注销”的链接按钮控件。当用户按下“注销”链接按钮时,我希望系统做两件事。 首先是触发服务器端单击事件以执行某些操作,例如清除所有会话变量等。其次是将用户重定向到另一个页面,例如logon.aspx
所以我写了以下代码
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
LinkButton1.PostBackUrl = "LogOn.aspx";
}
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
Session.Abandon();
....
....
}
但是当程序运行时,任何用户都单击链接按钮。将永远不会执行LinkButton1_Click的代码,因为该页面已被重定向到Logon.aspx页面,并且从未执行过LinkButton1_Click()
我的问题是,为什么LinkButton1提供PostBackUrl属性和服务器端click事件,但是似乎它们之间的配合不佳〜
这是因为通过设置PostBackUrl,您是说单击按钮时希望您将其发布到LogOn.aspx页,而不是发布回自身。 由于要发布到LogOn.aspx,因此永远不会触发该事件。
相反,您应该在sesion.abandon后单击按钮时使用某种重定向。
您可以检查是否有事件LinkButton1_Click
订阅了LinkButton1
的OnClick
吗?
然后,由于您正在使用ASP.Net进行引用,因此还有第二个问题,您可以使用Global.asax
进行处理,每次会话被销毁时,您都可以在其中将任何用户重定向到登录页面。 请参阅下面的参考链接:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.