マスター ページとコンテンツ ページがあります。これを行う方法がよくわかりません。マスター ページで何かを行った後、コンテンツ ページをリセット/更新するにはどうすればよいですか。私がやっていることは、ドロップダウン リストを変更することであり、それによってコンテンツ ページに表示される内容が決まります。マスターページからコンテンツページのページロードを呼び出すことができれば、それができます。
ありがとうございました
マスター ページとコンテンツ ページがあります。これを行う方法がよくわかりません。マスター ページで何かを行った後、コンテンツ ページをリセット/更新するにはどうすればよいですか。私がやっていることは、ドロップダウン リストを変更することであり、それによってコンテンツ ページに表示される内容が決まります。マスターページからコンテンツページのページロードを呼び出すことができれば、それができます。
ありがとうございました
ページ内のマスターページのカスタム イベントを処理します。
//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
}
イベントのシーケンスについては、http://msdn.microsoft.com/en-us/library/ms178472.aspxを参照してください。具体的には、「マスター ページは、ページ上の子コントロールのように動作します。マスター ページの Init イベントは、ページの Init および Load イベントの前に発生し、マスター ページの Load イベントは、ページの Init および Load イベントの後に発生します。」