ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇

前一篇文章只是简单的说了下事件,但是大家应该方法,在ASP.NET自定义控件中只是简单那么定义事 件是行不通。如果大家开发的是WinForm中的事件,之前的定义可能没有什么大的问题,只是在效率方法 欠考虑而且,还是可以运行的。

下面我们就回到ASP.NET中的事件。

大家也许看了我们之前定义的事件,确实,事件一般是那么定义的,但是那样定义事件后的,运行起 来的效率不搞,因为那样定义事件后,编译器在编译事件代码的时候,会自动的为我们加入很多多线程安 全的代码,就是说,虽然我们只是定义几行代码,大但是编译器为我们做了很多额外的事情,当然,这样 代码的运行的效率可想而知。

在很多的时候,我们自定义控件的事件不是需要考虑多线程安全等问题的,所我们就要改变代码,使 其运行的更加好,我们就采用下面的方法:显示的申明事件:

1
 2 //其实其实一个辅助的变量,用来做Hashtable中的”键“
 3 private static object ValidateCreditCardFormKey = new object();
 4         public event ValidateCreditCardFormEventHandler ValidateCreditCardForm
 5         {
 6             add
 7             {
 8                 Events.AddHandler(ValidateCreditCardFormKey, value);
 9             }
10             remove
11             {
12                 Events.RemoveHandler(ValidateCreditCardFormKey, value);
13             }
14         }
15
16
17         protected void OnValidateCreditCardForm(ValidateCreditCardFormEventArgs args)
18         {
19             ValidateCreditCardFormEventHandler handler = Events

[ValidateCreditCardFormKey]
20                                                                         as 

ValidateCreditCardFormEventHandler;
21             if (handler != null)
22                 handler(this, args);
23         }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索编译器
, 多线程
, 控件
, 运行
, 代码
, 事件
自定义组件事件
,以便于您获取更多的相关知识。

时间: 2024-08-22 14:18:25

ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇的相关文章

ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇

好了,我们之前以前开发一个控件.而且也添加了属性,开发也很规范,但是那个控件还差最后一点 :添加事件. ASP.NET的开发都是事件驱动的,现在我们就来为控件添加事件.在说事件之前,希望大家对C#的语法 要熟悉,对委托很事件要懂. 其实定义事件的步骤很简单: 1.声明一个委托. 2.定义一个携带事件信息的类. 3.定义事件4.定义一个通事件发生后,通知其他对象的方法首先来理清一下我们的思路: 1.在下拉框中选中一个值,并且在输入框中也输入相应的值. 2.我们在页面点击"提交"按钮,按钮

ASP.NET自定义控件组件开发 第五章 模板控件开发

大家好,我们今天来开发一个模板控件. 其实开发一个模板控件比开发一个组合控件更加简单,所以这章不难. 开发一个模板控件一般都继承CompositeControl,因为继承这个基类后,我们就省却了很多的麻烦. 所以本章我们开发的模板控件也继承于CompositeControl.大家应该还记得我们上章开发那个登录Login 控件吧,如下: 以上就是我们之前开发的登录控件,现在我们来改造它.我们的现在的这个登录控件的输入用户名和 密码的控件是TextBox,我们有时候可能想把TextBox 换成Dro

ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 后篇

事件冒泡 我们上一篇已经开发一个登录的组合控件,但是我们把控件的事件的这个问题没有解决,现在我们就 来看看这个问题. 因为我们的组合控件Login是由一些已经存在的服务器控件的组合的,这样就省却了我们很多的麻烦, 上篇中我们已经把子控件的一些属性,如Text等,显示呈现为了组合控件的属性.我们将之称为"属性的 冒泡"(我自己这样认为的). 我们现在来想下:其实我们点击"提交"按钮,我们就想把控件中信息发送给服务器,然后验证.即 ,我们点击的是"提交&quo

ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl

大家好,今天我们来实现一个自定义的控件,之前我们已经知道了,要开发自定义的控件一般继承三 个基类:Control,WebControl,还有一个就是今天要说的CompositeControl. 大家也许还记得,之前的开发的控件基本上都是我们自己从头到尾的写一些控件的标记,如 <table.....>之类的,而且还有一个大的问题:我们为了使得我们的控件更加的好用,专业,我们 还实现了大量的接口,和自己写很多的事件.这样开发控件的时间就加大了.其实我们可以利用ASP.NET中 已经有的控件,经过我

ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性

原文:ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性                                         深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第三篇 ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件 ASP.NET自定义控件组件开发 第三章 为控件添加事件 前

ASP.NET自定义控件组件开发 第六章 深入讲解控件的属性

深入讲解控件的属性持久化(一) 自从写了控件开发的文章后,收到了不少朋友的来信,提出了不少的问题,感谢大家的关注.今天就 把大家说的一些问题来讲解下. 虽然我这个系列是控件开发,但是我的目的还是希望大家通过开发控件更加快速的对ASP.NET有更加深 入的了解,所以我们也很有必要把一些基础性的东西将清楚. 为了达到深入讲解属性的目的,我首先来讲讲页面周期和页面解析的一些问题: 1.页面的解析: 大家可能听说,页面在提交给服务器的时候,都是被解析成为了一个个的继承与Page的类,最直接的 证明就是:

.Net WInform开发笔记(三)谈谈自制控件(自定义控件)_C#教程

末日这天写篇博客吧,既然没来,那就纪念一下. 这次谈谈自制控件,也就是自定义控件,先上图,再说 1.扩展OpenFileDialog,在OpenFileDialog中添加各种文件(.txt,.jpg,.excel等等)的预览功能 开发笔记(三)谈谈自制控件(自定义控件)_C#教程-winform自定义控件"> 2.重写ListBox,增加折叠.鼠标背影.分类等功能 -----------------------------分割线-------------------------------

Android开发实现布局中为控件添加选择器的方法

本文实例讲述了Android开发实现布局中为控件添加选择器的方法.分享给大家供大家参考,具体如下: 在开发过程中,动态交互的一些展示效果可以通过布局中添加选择器实现,这样就可减少Activity等的代码数量,MVP开发中降低耦合性,使开发人员在写代码时只需要关注逻辑处理. 比如:一个按钮,原本背景图片为红色,字体为黑色,点击时候背景图片为黄色,字体改为白色. 这类简单效果在布局时就可以实现: <Button android:id="@+id/btn_start" android:

ASP.NET自定义控件组件开发 第一章 第三篇

第三篇:第一章的完结篇 相信大家看了前几篇文章后应该觉得自定义控件很简单,无非就是把一大堆的html代码包装一下就行 了.不错,前几篇写的控件确实很简单.不知道大家想过没有,难道我们每次写控件都要大费力气的把一 大堆的html代码写进去吗. 不知道大家试了没有:如果在write.Write()方法中写的html代码有了错误,如果把<table..> 写成了<talbe..>,在编译的时候,编译器是不会发现错误,但是当我们把控件拖上来使用的时候 ,就发现控件的呈现错误.就是说,这样的