簡體   English   中英

可以在Page_Load之前調用按鈕單擊事件處理程序嗎?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM