zoukankan      html  css  js  c++  java
  • web.net用户控件

    1.它是以 Control注册 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApp.WebUserControl1" %>

    2、它的后缀名为.ASCX
    3、它本身不能直接执行
    4、它可以由用户自定义它的属性和事件

    5.它继承System.Web.UI.UserControl

    用户控时间创建是相对比较简单的,直接使用控件可以创建复杂的功能

    定义属性时可以用以下无数设置

    [Browsable(true)]//在属性窗口中是否可见
    [Category("Appearance")]//属性的分类,如,行为,外观,大家可以在属性窗口看见这样的分类
    [DefaultValue("支付方式")]//默认值
    [Description("支付方式")]//这些是显示在属性窗口底下的

    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApp.WebUserControl1" %>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
    页面代码

    在.ascx.cs添加属性,事件

    public partial class WebUserControl1 : System.Web.UI.UserControl
        {
            
            private string _myText;
    
            [Browsable(true)]
            public String MyText
            {
                get {
                    return _myText;
                }
                set {
                    _myText = value;
                    TextBox1.Text = _myText;
                }
            }
            
        }
    添加属性
    我们知道,使用事件,就可以将用户控件所知道的信息通过EventArgs来传递给父页面,然后父页面根据这些信息进行处理。那么,首先我们就来定一个EventArgs类。
    public class AddInfoClickEventArgs : EventArgs {
            public string Name { get; set; }
        }
    public event EventHandler<AddInfoClickEventArgs> AddInfoClick;
    我们可以在button单击事件触发这个事件
    protected void Button1_Click(object sender, EventArgs e)
            {
                if (AddInfoClick != null) {
                    var ex = new AddInfoClickEventArgs
                    {
                        Name = TextBox1.Text
                    };
                    AddInfoClick(this, ex);
                }
                
            }
    在页面的html视图里,就可以给这个控件加一个事件处理的代码
    <uc1:WebUserControl1 ID="WebUserControl11" MyText="自定属性" OnAddInfoClick="UCL_Add"  runat="server" />
    在主页后台
    public void UCL_Add(object sender, AddInfoClickEventArgs e) {
                Label1.Text = e.Name;
            }
    注册事件
    protected void Page_Load(object sender, EventArgs e)
            {
                this.WebUserControl11.AddInfoClick+=new EventHandler<AddInfoClickEventArgs>(UCL_Add)
            }
  • 相关阅读:
    git设置用户名和邮箱
    D②商品列表:毫秒转换成时间;分页添加背景;$$搜索商品关键字 $$$清空
    C②参数管理:修改删除;空格分隔的字符串渲染成标签;动态编辑标签;删除标签
    有用的抓包工具Ethereal
    PHP与XML联手进行网站编程
    配置Apache 2.2+PHP 5.2.9支持OCI通过Oracle9i Client连接Oracle
    UTF8编码主页调用JS显示乱码问题解决办法
    WIndows 环境下安装php环境(php5.2.9+apache2.2安装过程)
    PHP5 在处理 XML 方面的改进
    marquee上下滚动停顿效果
  • 原文地址:https://www.cnblogs.com/ymh2013/p/3554414.html
Copyright © 2011-2022 走看看