2013-07-26 62 views
0

我一直在嘗試解決這個問題像兩個小時,我仍然不知道發生了什麼。基本上這是我的情況:按鈕處理程序不工作時不運行PageLoad

只有一個可能的回發,你可以從我的網站做,並且回發是從一個按鈕,重定向到另一個頁面。因此,我認爲當按鈕被點擊時,它會更好地優化不運行PageLoad事件,因爲無論如何它只是要重定向。

問題是,當我不運行PageLoad事件時,按鈕事件不會觸發。我使用下面的代碼在運行時添加按鈕到我的網頁:

 LinkButton lb = new LinkButton(); 
     lb.Click += new EventHandler(lb_Click); 
     adminPanel.Controls.Add(lb); 

我想以防萬一運行僅上述部分來自PageLoad事件所需的按鈕來重新創建,但它仍然沒有按」工作。

任何人都知道可能是什麼問題?

編輯:我忘了補充,這裏是什麼按鈕的功能:

FormsAuthentication.SignOut(); 
    Response.Redirect("~/"); 
+1

按鈕點擊是否執行額外的服務器端處理或簡單重定向到頁面的已知URL? –

+0

我更新了問題。 – TheGateKeeper

+0

你說你在PageLoad事件中只有上面的代碼 - 所以你確實保留了事件和重新生成按鈕的代碼 - 當它停止工作時你還刪除了什麼? –

回答

2

另一個解決辦法是使用JavaScript來做到這一點,重定向的onclick上logout.aspx那裏,你可以用你的代碼登出在頁面加載:

FormsAuthentication.SignOut(); 
Response.Redirect("~/"); 

但即使它不會更優化..它只是在另一種方式相同。

+2

+1我認爲這是最好的方法,**特別是**,如果你如此關心優化,就像OP所說的那樣。一個簡單的錨點(不是以編程方式添加的服務器端控件)重定向到登錄頁面應該是你需要做的一切。 – Icarus

+0

謝謝我決定使用這種方法;現在我不必擔心回傳。 – TheGateKeeper