当你在开发ASP.NET网站,对用户控件一定并不陌生。当多个页面都使用相同或相似的设计时,使用用户控件可以提高开发效率!

但往往你会因为用户控件有少许不同的要求而感觉到烦恼。比如说在开发后台处理页面的时候常常遇到的用户搜索器:

在多个页面都会要求用到用户搜索,有时候它会用于修改用户的基本资料,有时候它会用来查询用户订单,有时候它会查询用户论坛的信息。多个页面用的都 是同一个功能的搜索器,但当按下“选择”键的时候,它们要求实现不同的功能。这时候,你可以使用用户控件的事件来实现这个功能。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
    onrowcommand="GridView1_RowCommand" >
  <Columns >

...................

<asp:TemplateField>
          <ItemTemplate>

<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Select" CommandArgument='<%#Eval("ID")%>'>

选择
              </asp:LinkButton>
          </ItemTemplate>
      </asp:TemplateField>

</Columns>

</asp:GridView>

首先,你先在控件里面设定事件对象CommandEventHandler,在GridView1的事件被激发时,直接调用CommandEventHandler处理方法

public partial class UserControl : System.Web.UI.UserControl
{

public event GridViewCommandEventHandler CommandEventHandler;

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (CommandEventHandler != null)
            CommandEventHandler(sender, e);
    }

................

}

在页面调用用户控件时,绑定用户控件的CommandEventHandler的处理方法

<ascx:UserControl ID="UserControl1" runat="Server" OnCommandEventHandler="UserControl_OnCommanEventHandler" />

protected void UserControl_OnCommanEventHandler(object sender, GridViewCommandEventArgs e)
    {

if(e.CommandName=="Select")

{

...................
               //此时,你就可以根据不同的功能要求而实现不同的操作了。

}
    }

总结一下,适当地利用ASP.NET用户控件的属性和事件,可以更有效地提高用户控件的可复用性,减少不必要的代码,提高页面开发的工作效率,你还可以使用自定义事件实现有效的开发,使用户控件不受控件事件的拘束!

有效利用ASP.NET用户控件的事件委托相关推荐

  1. ASP.NET用户控件的创建和使用

    ASP.NET用户控件的创建和使用 1. Web用户控件概述 Web用户控件是一种服务器控件,它与ASP.NET页面有着同样的所见即所得的特点,并以.ascx为扩展名存储为文本文件,同样具有自己的界面 ...

  2. ASP.NET 用户控件自定义属性、方法、事件

    原文件链接:http://www.cnblogs.com/stalwart/archive/2010/12/16/1908302.html 之前一直写MVC的,本来就不大喜欢.NET中的服务器控件,里 ...

  3. Asp.net 用户控件和自定义控件注册

    在ASPX页中注册用户控件的方法 <%@ Register Src="ListPicker.ascx" TagName="ListPicker"  Tag ...

  4. Asp.Net用户控件编程实例

    新建一个Asp.Net空网站:加入一个Default页: 添加一个web用户控件: 解决方案结构如下: 用户控件页面添加一个Label: <%@ Control Language="C ...

  5. 如何动态创建asp.net 用户控件

    this.PlaceHolder1.Controls.Add(new TextBox());  //可以 this.PlaceHolder1.Controls.Add(new MyContorl); ...

  6. 利用ASP.NET日期控件制作“会议日程安排”(贴首页过把瘾)

    本文转载自: https://www.cnblogs.com/peaceli/archive/2012/08/06/1359862.html 作者:peaceli 转载请注明该声明. 大家应该比较熟悉 ...

  7. asp.net 用户控件

    页面调用(.aspx) <%@ Register Src="~/myspace/UC/Friend_Diary.ascx" TagPrefix="uc" ...

  8. VS2008 Tips #008 如何创建ASP.NET Web 用户控件并包含在Web 页面中

    在 Visual Web Developer 中创建 ASP.NET Web 用户控件就像 ASP.NET Page 页面一样简单. 以下是创建步骤: 1.打开您想添加用户控件的站点. 2.右键点击站 ...

  9. ASP.NET 实践:使用用户控件实现 Web 部件的个性化

    这个实践示范了如何创建依赖于 Web 部件个性化的 ASP.NET 用户控件,并在 Web 页面中提供用户特定的默认值. ASP.NET Web 部件控件集允许你建立拥有模块化布局的 Web 页面,并 ...

最新文章

  1. C 语言中的 switch 语句 case 后面是否需要加大括号
  2. python的历史 常量 注释 基础数据类型等基本操作 和if 判断语句
  3. VC++动态链接库(DLL)编程深入浅出(zz)
  4. linux下重启mysql php nginx
  5. php框架 wc if_PHP if else语句
  6. 网络IO演变发展过程和模型介绍
  7. js格式化xml并高亮显示关键字
  8. mysql动力节点老杜_【动力节点】高清MySQL视频教程
  9. 基于FPGA的中值滤波器设计
  10. 【源码】高精度31波段音频均衡器
  11. 既是老师又是师兄的临别箴言 .
  12. 【8.8gzoj综合】贪|污排名【搜索二叉树】
  13. Android实现二维码扫描功能(三)-闪光灯控制
  14. Trusted Applications介绍
  15. 模拟电子技术学习笔记-NPN三极管的内部结构
  16. 代码写成这样,老夫无可奈何!
  17. MPC算法轨迹跟踪课程资源
  18. Centos 无法获取IP-- No suitable device found for this connection device lo not available because
  19. 快递物流行业:数据增量下载的实现
  20. Ubuntu 安装 Mysql 8

热门文章

  1. SCI论文编辑教你如何准备SCI论文和写作
  2. sap成本流怎么看_SAP FICO成本结算的流程到底是怎样的?
  3. 用计算机考试有老师引导,河北省教师计算机考试评价题及答案
  4. Telnet服务器的系统要求,Telnet 服务器概述
  5. java实现 mysql 身份认证,java-从Filter中的数据库对用户进行身份验证是一种好习惯吗?...
  6. spark数据查询语句select_Spark-SQL之DataFrame操作大全
  7. android seekbar 圆角,android - 最小或最大时,圆角android seekbar的ui奇怪行为 - 堆栈内存溢出...
  8. c++中的结构体_C ++中的结构
  9. jsp el 表达式_JSP表达式语言– JSP EL示例教程
  10. scala代码示例_Scala元组和地图示例