主页Page_Load在Grid ItemCommand之前命中

时间:2012-06-17 09:09:04

标签: c# asp.net .net master-pages itemcommand

我正在使用会话对象根据用户操作存储成功/错误消息。

在每个回发上,消息在ItemCommend上设置,并在母版页的Page_Load上检索。检索后,将从会话中删除该消息。

问题是在调用ItemCommand之前调用母版页的Page_Load,因此在下次刷新或回发之前消息不会显示。

这种情况通常如何处理?还有其他一些我们可以编码的事件吗?

3 个答案:

答案 0 :(得分:2)

这是aspx和母版页的正常行为。首先,在Master Page的页面加载被激活然后所有其他点击等之后,内容页面的页面加载被触发。

您可以使用PageLoad Complete事件来解决您的问题。

答案 1 :(得分:1)

这是正常行为。在itemcommandPage_prerender

上显示您的消息

答案 2 :(得分:0)

在您的母版页的代码后面创建一个公共方法,如下所示:

 public void Set_Value(String SessionValue)
   {
      //your code here
   }

在您的内容页面的aspx文件中,使用以下代码行:

  <%@ MasterType VirtualPath="~/MasterPage.master" %>

现在,在您的内容页面的代码隐藏中,您可以轻松地在任何控件的Item事件中调用Master Page的方法。在Master Page的方法中,您可以编写所需的代码来更新和显示值。

在内容页面上调用母版页的方法像这样:

  this.Master.Set_Value(Session["abc"].ToString());