关于Asp.net事件,如何在触发子控件的事件时,同步触发父页面的事件
2024-08-29 06:43:44
对页面引用自定义控件后,通过绑定自定义事件,页面绑定子控件的事件,在子控件做了某些修改动作后,如何同步操作父页面的方法;下面我煮了个栗子,同学们可以来尝一尝试一试
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 >= )
{
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;
}
}
}
最新文章
- HTML label标签的一点理解
- git的配置
- 关于gcd的几个问题
- github 基础教程推荐
- perl 学习杂项笔记
- STORM_0004_windows下zookeeper的伪集群的搭建
- latch和DFF的区别和联系
- JavaScript 阻止事件冒泡的实现方法
- intrins.h 里面的函数都有什么,功能是什么?
- PowerMockito使用详解
- 【WebGL入门】画一个旋转的cube
- hihocoder1257(构造)(2015北京ACM/ICPC)
- Java Socket、计算机网络
- WPF中的数据绑定(初级)
- XGBoost模型的参数调优
- Redis基础、高级特性与性能调优
- Puppet的搭建和应用
- 使用c#反射实现接口可视化调试页面
- ogg 12.3 for sqlserver 2016 CDC模式配置
- 关于map::erase的使用说明