0

我有以下具有页面加载事件处理程序和按钮单击事件处理程序的代码。在页面生命周期中按预期单击按钮之前调用页面加载处理程序。

页面加载处理程序之前是否会调用Button Click处理程序?(由于一些验证控制左右)。

如果保证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;
    }

}
4

3 回答 3

4

这是有保证的。页面加载阶段完成后始终调用控制事件处理程序。如需参考,请查看此MSDN 文章

于 2013-05-09T11:28:44.063 回答
1

没有在页面加载之前调用按钮单击处理程序的情况,这也是不可能的。在页面加载中,所有控件都被初始化,只有这样才能调用控件的事件处理程序。

于 2013-05-09T11:36:45.280 回答
0

“任何情况”?不是在所有答案所述的 ASP.Net 回发/页面生命周期场景中,但由于您已经问过“任何”,您可以尝试(重写和)将您的方法公开给客户端脚本。

尽管这实际上与“处理程序”或事件无关,但与方法有关....

只是一个想法....

于 2013-05-09T12:41:42.670 回答