【发布时间】:2017-03-21 06:23:27
【问题描述】:
我目前有两个母版页 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 始终为 null,因此不会调用该函数。
【问题讨论】:
-
您使用的是哪个日历控件?
-
asp.net 日历控件,Calendar_OnSelectionChanged 方法正在触发并且很好,只有事件处理程序始终为空。
-
public void Calendar_OnSelectionChanged(object sender, EventArgs e)被解雇了? -
是的,日历和一切都很好,只有自定义事件永远不会引发。 :(
-
你试过找到控件了吗:
Calendar cal = this.Master.FindControl("Calendar1"); cal.OnSelectionChanged += OnMainCalendarSelectionChanged_SubContent;