母版页中定义委托:
public delegate void ElementSelectedChangeHandler();
public ElementSelectedChangeHandler ElementSelectedChange ;
if (ElementSelectedChange != null)
{
ElementSelectedChange();
}
内容页中指定一个与委托签名匹配的方法: Master.ElementSelectedChange = this.ElementSelectedChange;
问题是在内容页中无法这样写匹配的方法,如何做,写在类定义中还是load里面,好像都不行,Master无法直接调用.ElementSelectedChange
你好,
在 OnPreLoad 中写这个方法. 并且一定要在你的aspx 页面上加上**VirtualPath **.
母版页:
public delegate void ElementSelectedChangeHandler();
public ElementSelectedChangeHandler ElementSelectedChange;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void BtnSearch_Click(object sender, EventArgs e)
{
if (ElementSelectedChange != null)
{
ElementSelectedChange();
}
}
内容页:
<%@ MasterType VirtualPath="~/Site7.master" %>
protected override void OnPreLoad(EventArgs e)
{
base.OnPreLoad(e);
Master.ElementSelectedChange = this.ElementSelectedChange;
}
void ElementSelectedChange()
{
}