2011-01-12 132 views
2

菜单链接位于母版页中,而相应的点击事件则写入母版页本身。我只有一个内容页面。数据以HTML格式保存在数据库中,并将在相应的菜单链接点击中呈现到内容页面。但问题是内容页面加载发生在母版页面之前,因此内容页面是空白的。在这里我的代码 -如何从母版页更新内容页面?

public void GetLinkPage(Int32 linkId)//master page 
{ 
    LinkContentEnitity linkContent = new LinkContentEnitity(); 
    linkContent = PageController.GetPageContent(linkId);    
} 

linkContent包含HTML表单的内容页面。如何在内容页面上打印此值?

+0

您可以显示法师和内容都在Page_Load和Click事件,请在事件处理程序? – Greg 2011-01-12 14:29:02

回答

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 
} 

顺便说一句,这是一个有用的事件顺序的参考。在处理嵌套控件(主/内容,用户控件等)时,您遇到的问题非常容易理解,这有助于充分理解事件顺序。

http://msdn.microsoft.com/en-us/library/dct97kc3.aspx

1

这样做的一种方法可能是...在您的内容页面上添加一个公共方法,完成您需要完成的工作。在母版页中,将this.Page转换为您的页面类并调用该方法。

相关问题