我目前有两个母版页( M1和M2 )和几个内容页。
M2有一个日历控件,每当日历上的选择发生变化时,我想调用一个内容页函数。
下面是我主页中的代码:
public partial class Master2 : BaseMasterPage
{
public event EventHandler CalendarSelectionChanged;
public void Calendar_OnSelectionChanged(object sender, EventArgs e)
{
if (CalendarSelectionChanged != null)
CalendarSelectionChanged(this, EventArgs.Empty);
}
}下面是内容页C1中的代码:
protected void Page_PreInit(object sender, EventArgs e)
{
Master.CalendarSelectionChanged += new EventHandler(OnMainCalendarSelectionChanged_SubContent);
}
private void OnMainCalendarSelectionChanged_SubContent(object sender, EventArgs e)
{
DoSomething();
}但是CalendarSelectionChanged总是空的,因此函数不会被调用。
发布于 2016-12-02 16:46:58
经过认真的研究和摸索,我终于在母版页中制作了日历,以触发内容页中的事件。
内容页中的代码与问题中提到的相同。
第二个母版页(嵌套)中的代码更改为:
public partial class Master2 : BaseMasterPage
{
public event EventHandler CalendarSelectionChanged;
public void Calendar_OnSelectionChanged(object sender, EventArgs e)
{
OnCalendar_SelectionChanged_CustomEvent(e);
///.....
}
public virtual void OnCalendar_SelectionChanged_CustomEvent(EventArgs e)
{
if (Calendar_SelectionChanged_CustomEvent != null)
Calendar_SelectionChanged_CustomEvent(this, EventArgs.Empty);
}
}在内容页中添加虚拟参考路径:
<%@ MasterType VirtualPath="~/MasterPage.master" %> https://stackoverflow.com/questions/40935415
复制相似问题