• ASP.ENT 创建带事件的用户控件


    ASP.NET 用户控件的创建与使用----在这篇中讲了用户控件的创建与使用。

    下面说下怎么创建带事件的用户控件:

    标准的WEB空间有事件,来进行交互,同样用户控件也有。

    要创建一个带事件的用户控件很简单,只需要三步:

    1.定义个公开的(public) 的事件委托,如ClickEventHandler

    2.在用户控件类中定义引发事件的方法,如OnClick方法

    3.在引发事件的方法中判断事件是否为空,如果不为空,就可以写事件出来代码了。

     

     

    下面我们来一步一步实现,

    1.创建一个用户控件文件--LinkClick.ascx.

    2.从工具箱中拖入LinkButton控件。

    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LinkClick.ascx.cs" Inherits="Sample9_2.UC.linkClick" %>
    <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">点击我</asp:LinkButton>

    3.在LinkClick.ascx.cs后置代码中定义单击事件的委托

     public event EventHandler myClickEventHandler;

    4.添加LinkButton控件的单击事件代码如下:

     protected void LinkButton1_Click(object sender, EventArgs e)
            {
                if (myClickEventHandler != null) {
                    myClickEventHandler(this, EventArgs.Empty);
                }
            }

    5.在Default.aspx,中拖入刚才的用户控件

     <uc1:LinkClick ID="LinkClick1" runat="server"/>

    6.在工具箱中拖入Lable控件,我们将要做当点击用户控件的LinkButton,让Lable显示内容。

       <asp:Label ID="Label1" runat="server"></asp:Label>

    7.在用户控件中添加用户控件事件句柄,

      <uc1:LinkClick ID="LinkClick1" runat="server" OnmyClickEventHandler="LinkClick1_OnClick"/>

    8.打开文件,Default.aspx.cs ,在里面添加事件出来函数LinkClick1_OnClick的定义代码

    代码如下,(当用户单击控件LinkClick,则引发该事件,在Lablel控件中显示相应文字)。

    protected void LinkClick1_OnClick(object sender, EventArgs e)
            {
                this.Label1.Text = "单击我";
            }

    这样一个带事件的用户控件就好了。运行试试。

  • 相关阅读:
    将数据挂载到 docker 容器中的3种方式:volume、bind mount、tmpfs
    kubectl 常用命令
    Kubernetes 知识点
    spring boot 学习资料
    docker 常见系统镜像
    docker 的前台模式和后台模式
    Docker容器里的进程为什么要前台运行?相同的问题:docker运行apache为什么带FOREGROUND参数?docker运行nginx为什么带`daemon off`参数?
    spring cloud 各核心组件作用
    nginx 镜像使用说明
    optimization.splitChunks 中,chunks 的3个值:all、async、initial 的含义
  • 原文地址:https://www.cnblogs.com/bayker/p/1608583.html
Copyright © 2020-2023  润新知