zoukankan      html  css  js  c++  java
  • 关于Asp.net事件,如何在触发子控件的事件时,同步触发父页面的事件

    对页面引用自定义控件后,通过绑定自定义事件,页面绑定子控件的事件,在子控件做了某些修改动作后,如何同步操作父页面的方法;下面我煮了个栗子,同学们可以来尝一尝试一试

    a.aspx 引用 UserControl :ucReportViewCore.ascx(b控件)

    b控件声明事件变量ReportUseDefaultTemplateChanged,并添加方法OnReportUseDefaultTemplatChanged判断ReportUseDefaultTemplateChanged变量不为空时,执行事件变量ReportUseDefaultTemplateChanged

          public event EventHandler<EventArgs<bool>> ReportUseDefaultTemplateChanged;//a
            protected void OnReportUseDefaultTemplatChanged(bool checkedValue)
            {
                if (ReportUseDefaultTemplateChanged != null)
                {
                    ReportUseDefaultTemplateChanged(this, new EventArgs<bool>(checkedValue));
                }
            }

    a页面,在Oninit事件中绑定b控件的事件变量ReportUseDefaultTemplateChanged,并将a页面上的一个事件赋值给b控件的事件变量

       protected override void OnInit(EventArgs e)
        {
         ucReportViewCore.ReportUseDefaultTemplateChanged += new EventHandler<CIPACE.Model.CustomReport.EventArgs<bool>>(ucReportViewCore_ReportUseDefaultTemplateChanged);
       }
        void ucReportViewCore_ReportUseDefaultTemplateChanged(object sender, CIPACE.Model.CustomReport.EventArgs<bool> e)
            {
                if (IsPortalReport)
                {
                    int modifIndex = RowIndex;
                    if (modifIndex >= 0)
                    {
                        if (ReportSetting != null)
                        {
                            ReportSetting.Reports[modifIndex].UseDefaultTemplate = e.Parameter;
                        }
                    }
                }
            }

    自定义EventArgs类

    namespace CIPACE.Model.CustomReport
    {
        [Serializable]
        public class EventArgs<T> : EventArgs
        {
            private T param;
            public T Parameter
            {
                get { return param; }
            }
            public EventArgs(T parameter)
            {
                this.param = parameter;
            }
        }
    }

     

  • 相关阅读:
    数据表的水平拆分
    高性能网站架构
    文本框内容改变触发事件
    树莓派3B(1)- Raspberry Pi 3B 安装系统并联网
    一年经验Java程序员面经小记
    Windows系统安装总结
    树莓派3B(2)- 配置多个wifi,自动寻找可用网络
    Centos7 Apache实现Http访问SVN资源库
    Centos7搭建svn服务
    读《重构 改善既有代码的设计》有感
  • 原文地址:https://www.cnblogs.com/yonsy/p/6627546.html
Copyright © 2011-2022 走看看