菜单链接位于母版页中,相应的点击事件将写入母版页本身。我只有一个内容页面。数据以html格式保存在数据库中,并将在相应的菜单链接点击上呈现到内容页面。但问题是内容页面加载发生在母版页之前,因此内容页面是空白的。这是我的代码 -
public void GetLinkPage(Int32 linkId)//master page
{
LinkContentEnitity linkContent = new LinkContentEnitity();
linkContent = PageController.GetPageContent(linkId);
}
linkContent
包含HTML格式的内容页面。如何在内容页面上打印此值?
答案 0 :(得分:3)
虽然它并不完全清楚,但听起来您说您的内容页面需要在主页的Page_Load
事件中生成的自己的Load事件中的信息?
因此,要么将内容页面中调用GetPageLink()
的代码移动到PreRender
,要么在ContentPage中为Page_LoadComplete()
添加一个事件处理程序(在页面上的所有子控件之后触发)加载)并调用GetPageLink()
并从那里进行渲染,例如在内容页面中:
protected override void OnInit(EventArgs e)
{
Page.LoadComplete += new EventHandler(Page_LoadComplete);
}
protected void Page_LoadComplete(object sender, EventArgs e) {
// do stuff here, instead of OnLoad/Page_Load event
}
顺便说一下,这是事件顺序的有用参考。在处理嵌套控件(主/内容,用户控件等)时,您遇到的问题很容易进入,这有助于更好地理解事件顺序。
答案 1 :(得分:1)
一种方法可能就是这样......在您的内容页面上,添加一个公共方法来完成您需要完成的工作。在母版页中,将this.Page强制转换为您的页面类并调用该方法。