[英]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.