ASP.Net - WebForms - 如何在单击链接时避免多个Page_Load事件

时间:2011-08-26 05:43:02

标签: c# asp.net webforms postback pageload

我正在使用ASP.Net C#WebForms Framework 3.5在网站上工作 我使用Master页面进行设计,在Master页面中我有两个用户控件用于Header&页脚。 当用户登录时,在Header Control中,有一个指向Logoff和onClick事件的链接,我们在cs文件中编写了注销代码。

当我们点击它时,.net将调用WebForm的page_load事件,然后调用master页面的page_load事件,然后调用master页面中使用的所有用户控件的page_load事件,最后调用click事件。

我们怎样才能避免这种情况?我想避免使用page_load事件。

3 个答案:

答案 0 :(得分:3)

由于asp.net page life-cycle的工作方式,你无法避免这种情况。但是,您应将代码置于!IsPostBack

 protected void Page_Load(object sender, EventArgs e)
 {
   if (!IsPostBack)
   {
      // put your code here..
   }
 }

答案 1 :(得分:2)

asp.net架构就是这样的。你无法改变它。

但你可以采用不同的方法。

当您点击按钮时,您可以直接从客户端(从javascript)调用Webserivice,而不是回发。

或者您需要关注asp.net MVC。

答案 2 :(得分:1)

使用以下代码:

protected void Page_Load(object sender, EventArgs e)
{
     if(!IsPostBack)
{
//code part
}
}