• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > 浅谈ASP.NET中最简单的自定义控件

浅谈ASP.NET中最简单的自定义控件

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了浅谈,浅谈小学语文阅读教学,浅谈如何转化后进生,浅谈汽车运动,浅谈小学数学教学方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

ASP.NET用户控件一般适用于产生相对静态的内容,所以没有builtin的事件支持。本文讨论用户控件返回事件的方法。

 假定用户控件(UserControl.ascx)中包含按钮控件AButton,希望实现按AButton按钮时,包含该用户控件的页面可以接收到事件。为此,小鸡射手在用户控件和页面的代码中分别作了处理。

        UserControl.ascx.cs中的处理:
        1. 定义public的事件委托,如ClickEventHandler;
        2. 在UserControl类中声明事件,如Click;
        3. 在UserControl类中定义引发事件的方法,如OnClick()方法;
        4. 在UserControl类的相关方法中调用引发事件的方法,如在Button_Click()中调用OnClick()。

        核心代码示意如下:

        public delegate void ClickEventHandler(object sender, EventArgs e);
        public class MyUserControl : System.Web.UI.UserControl
        {
           protected System.Web.UI.WebControls.Button AButton;
           public event ClickEventHandler Click;
           protected void OnClick(EventArgs e)
           {
               if (Click!=null) Click(this, e);
           }
           private void AButton_Click(object sender, System.EventArgs e)
           {
               this.OnClick(e);
           }
        }
</div>
 
包含UserControl的页面cs文件中的处理:

     1. InitializeComponent()中增加事件处理程序,采用FindControl方法找到UserControl;
     2. 定义事件处理方法,在该方法中处理UserControl的事件,如UserControl_Clicked()。
核心代码示意如下:

     private void InitializeComponent()
     {   
           this.Load += new System.EventHandler(this.Page_Load);
           MyUserControl uc = this.FindControl("myUserControlID") as MyUserControl;
           uc.Click += new ClickEventHandler(this.UserControl_Clicked);
     }
     private void UserControl_Clicked(object sender, System.EventArgs e)
     {
           // UserControl_Clicked event hanlder
     }
</div>

总结一下,其实就是将事件机制利用手工编程的方法加进去:加入一般控件IDE自动生成的代码。顺便说一下,C#的事件机制实现了Obeserver pattern,除了UI还可以用于业务层,能有效地降低对象间的耦合度,像UserControl那样,根本无需知道包含它的页面对象是谁!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈ASP.NET常用数据绑定控件优劣总结
  • 浅谈如何在ASP.NET Core中实现一个基础的身份认证
  • 浅谈ASP.NET Core 中间件详解及项目实战
  • 浅谈ASP.NET中多层架构
  • 浅谈ASP.NET中MVC 4 的JS/CSS打包压缩功能
  • 浅谈ASP.NET中最简单的自定义控件
  • 浅谈c#设计模式之单一原则
  • 浅谈.net平台下深拷贝和浅拷贝
  • 浅谈.Net并行计算之数据并行
  • ASP.NET学习路线图浅谈

相关文章

  • 2017-05-11Asp.net 时间操作基类(支持短日期,长日期,时间差)
  • 2017-05-11.NET 水晶报表使用代码
  • 2017-05-11ASP.NET设置404页面返回302HTTP状态码的解决方法
  • 2017-05-11深入Lumisoft.NET组件开发碰到乱码等问题的解决方法
  • 2017-05-11Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
  • 2017-05-11ASP.NET设计网络硬盘之上传文件实现代码
  • 2017-05-11Windows虚拟主机与VPS如何实现301重定向(asp.net)
  • 2017-05-11asp.net中MD5 16位和32位加密函数
  • 2017-05-11ASP.NET也像WinForm程序一样运行的实现方法
  • 2017-08-27ASP.NET证控件的使用方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 在asp.NET 中使用SMTP发送邮件的实现代码
    • asp.net 生成静态页时的进度条显示
    • asp.net SharpZipLib的压缩与解压问题
    • 自己常用到的自定义公共类(已测试通过)
    • .NET简单工厂模式讲解
    • ASP.NET 2.0中的页面输出缓存
    • asp.net一些很酷很实用的.Net技巧第1/2页
    • win2003服务器asp.net权限设置问题及解决方法
    • Asp.net使用SignalR实现聊天室的功能
    • asp.net下日期和时间处理的类库

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有