从Master更新内容页面

时间:2012-04-29 23:27:51

标签: c# asp.net master-pages

我有一个母版页和一个内容页面。不太清楚如何做到这一点。在主页面中执行某些操作后,如何重置/刷新内容页面。我正在做的事情是更改下拉列表,然后指示您在内容页面中可以看到的内容。如果我可以从主页面调用内容页面的页面加载。

谢谢

2 个答案:

答案 0 :(得分:6)

处理页面中母版页的自定义事件。

//Event in MasterPage
public delegate void SomethingSelected(object sender, String SelectedValue);
public event SomethingSelected OnSomethingSelected;

//SelectedIndexChanged event in MasterPage
protected void DropDonwnList1_SelectedIndexChanged(object sender, EventArgs e)
{
    OnSomethingSelected(sender, ((DropDownList)sender).SelectedValue);
}

内容页面(假设其类型称为SiteMaster):

protected void Page_Init(object sender,EventArgs e){
    var master = (SiteMaster)Page.Master;
    master.OnSomethingSelected +=  MasterSelected;
}

private void MasterSelected(object sender, string selectedValue)
{ 
    // now you can handle the master's event and update your content page
}

答案 1 :(得分:0)

有关事件序列,请参阅http://msdn.microsoft.com/en-us/library/ms178472.aspx。特别是,“主页面的行为与页面上的子控件类似:主页面Init事件发生在页面Init和Load事件之前,主页面Load事件发生在页面Init和Load事件之后。