我正在使用会话对象根据用户操作存储成功/错误消息。
在每次回发时,消息在"项目表扬"上设置,并在母版页的Page_Load上检索。检索后,邮件将从会话中删除。
问题是母版页的Page_Load在调用 ItemCommand 之前被调用,因此在下次刷新或回发之前不会显示消息。
这种情况通常如何处理?还有其他一些我们可以编码的事件吗?
这是 aspx 和母版页的正常行为。首先,在母版页的页面加载被触发之后,内容页的页面加载被触发,然后是所有其他点击等。
您可以使用 PageLoad Complete 事件来解决您的问题。
正常行为。 在itemcommand
或Page_prerender
上显示您的信息
在母版页的"代码后面"中创建一个公共方法,如下所示:
public void Set_Value(String SessionValue)
{
//your code here
}
在内容页的 aspx 文件中,使用以下代码行:
<%@ MasterType VirtualPath="~/MasterPage.master" %>
现在,在内容页的代码隐藏中,可以轻松地在任何控件的 Item 事件中调用母版页的方法。在母版页的方法中,可以编写所需的代码来更新和显示值。
在内容页上调用母版页的方法,如下所示:
this.Master.Set_Value(Session["abc"].ToString());