我有一个调用函数A()的按钮
当我点击它时,我希望按顺序进行调用:
A()
Page_Load()
Run Code Online (Sandbox Code Playgroud)
现在它正在做:
Page_Load()
A()
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个问题,还是仅仅是设计问题而我无能为力?
And*_*mes 16
最简单的方法是使用HTML Submit按钮并在Page_Init中检查每个回发中是否在Form中
public void Page_Init(object o, EventArgs e)
{
if(!string.IsNullOrEmpty(Request.Form["MyButtonName"]))
{
A();
}
}
Run Code Online (Sandbox Code Playgroud)
在您的ASP.NET代码中:
<Button Type="Submit" Name="MyButtonName" Value="Press Here To Do Stuff Early!" />
Run Code Online (Sandbox Code Playgroud)
我认为这会奏效.
在page_load之后调用控件事件(例如按钮的单击事件).在page_load之前,不保证控件完全初始化.如果你真的需要在调用page_load之前根据按钮是否被按下来调用函数你必须检查请求以检查按钮是否被按下(基本上是旧学校ASP)
您需要在Page_Init中调用您的函数.Page_Init将在Page_Load之前发生.