ASP.NET母版页中调用内容页的方法

首先要在母版页定义委托(delegate ):


namespace NotSee.Web.Manage
{
    public partial class Sys : System.Web.UI.MasterPage
    {
        public delegate void ElementSelectedChangeHandler();
       //实例化委托,其实这也是一个属性
        public ElementSelectedChangeHandler ElementSelectedChange { private get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {//notsee.info技术交流分享
         }
         //母版里的按钮
        protected void BtnSearch_Click(object sender, EventArgs e)
        {      
               if (ElementSelectedChange != null)
                {
                      ElementSelectedChange();
                }
        }
    }
}
 

接着例如:notsee.aspx 内容页 我们需要在这个notsee.aspx页中指定一个与委托签名匹配的方法:
namespace WMS.Web.Manage
{   
    public partial class notsee: System.Web.UI.Page
    {
           Master.ElementSelectedChange = this.ElementSelectedChange;
           protected void Page_Load(object sender, EventArgs e)
           {//notsee.info技术交流分享
           }
           void  ElementSelectedChange()
           {
              //您的处理方案
           }
    }
}
总结,在这里是用了委托的原理(依赖倒置的设计原理。也就是定义一个大体框架,让后人往里加代码)。

posted @ 2012-01-29 18:00  scott.pei  阅读(648)  评论(2编辑  收藏  举报