3

マスター ページとコンテンツ ページがあります。これを行う方法がよくわかりません。マスター ページで何かを行った後、コンテンツ ページをリセット/更新するにはどうすればよいですか。私がやっていることは、ドロップダウン リストを変更することであり、それによってコンテンツ ページに表示される内容が決まります。マスターページからコンテンツページのページロードを呼び出すことができれば、それができます。

ありがとうございました

4

2 に答える 2

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
}
于 2012-04-29T23:50:54.577 に答える
0

イベントのシーケンスについては、http://msdn.microsoft.com/en-us/library/ms178472.aspxを参照してください。具体的には、「マスター ページは、ページ上の子コントロールのように動作します。マスター ページの Init イベントは、ページの Init および Load イベントの前に発生し、マスター ページの Load イベントは、ページの Init および Load イベントの後に発生します。

于 2012-04-30T00:14:23.343 に答える