[英]Can button click event handler be invoked before Page_Load?
我有以下代碼具有頁面加載事件處理程序和按鈕單擊事件處理程序。 在頁面生命周期中按預期單擊按鈕之前,將調用頁面加載處理程序。
在任何情況下,將在“ 頁面加載”處理程序之前調用“ 按鈕單擊”處理程序嗎? (由於一些驗證控件左右)。
如果保證將始終調用Page_Load
,則無需在按鈕單擊處理程序內調用MyGetCount()
函數。
public partial class WebForm1 : System.Web.UI.Page
{
int tableDataCount = 0;
protected void Page_Load(object sender, EventArgs e)
{
string val = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
//Get the count inside page load
tableDataCount = MyGetCount();
}
protected void btnAction_Click(object sender, EventArgs e)
{
Response.Write(tableDataCount.ToString());
}
private int MyGetCount()
{
int count = 135;
//Logic for count
return count;
}
}
這是有保證的。 始終在頁面加載階段完成后調用控件事件處理程序。 作為參考,請查看此MSDN文章 。
沒有在頁面加載之前調用按鈕單擊處理程序的情況,這也是不可能的。 在頁面加載中,所有控件都將被初始化,只有這樣才能調用控件的事件處理程序。
“任何情況”? 並非所有答案都表明在ASP.Net回發/頁面生命周期方案中,但是由於您詢問了“ any”,因此您可以嘗試(重寫)並將方法公開給客戶端腳本。
盡管這實際上與“處理程序”或事件無關 ,但與方法有關。
只是一個想法....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.