繁体   English   中英

从嵌套母版页调用内容页方法

[英]Calling a content page method from nested master pages

我目前有两个母版页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,因此不会调用该函数。

经过一番认真的研究和探讨,我终于在母版页中制作了日历,以触发内容页中的事件。

内容页面中的代码与问题中提到的相同。

第二个母版页(嵌套)中的代码更改为:

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" %> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM