• 在用户控件中动态添加控件及事件


    问题来自网上:

    动态添加控件,应该加在OnInit(EventArgs e)事件里。

     protected override void OnInit(EventArgs e)
        {
           //加在这个事件内
        }

    下面Insus.NET就以动态添加一个TextBox在用户控件内,在控件值发生变化时,触发事件,并提示变化后的值。

    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="InsusUserControl.ascx.cs" Inherits="InsusUserControl" %>
    <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
    InsusUserControl.ascx.cs
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Insus.NET;

    public partial class InsusUserControl : System.Web.UI.UserControl
    {
        protected override void OnInit(EventArgs e)
        {
            TextBox tb = new TextBox();
            tb.ID = "TextBox1";
            tb.AutoPostBack = true;
            tb.TextChanged +=tb_TextChanged;
            this.PlaceHolder1.Controls.Add(tb);
            base.OnInit(e);
        }
        
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void tb_TextChanged(object sender, EventArgs e)
        {
            var tb = (TextBox)sender;
            if (string.IsNullOrEmpty(tb.Text.Trim ())) return;
            string s = "当前TextBox控件值为:" + tb.Text.Trim();
            InsusJavascriptUtility objJs = new InsusJavascriptUtility ();
            objJs.JsAlert (s);
            //Response.Write ("<scr" + "ipt> alert('" + s +"') </scr" + "ipt>");
        }
    }

    把用户控件拉入aspx页面中,并运行:

  • 相关阅读:
    VS2015编译OpenSSL1.0.2源码
    VS2015编译CURL7.54.0源码
    Mac OS Yosemite 文件批量重命名
    https 原理
    把本地仓库导入到Github
    jquery cdn加速注意事项
    关于CSS 里的_width是什么意思???
    HTML的footer置于页面最底部的方法
    html-include
    GitHub Permission to <<repository>> denied to <<username>>
  • 原文地址:https://www.cnblogs.com/insus/p/2732306.html
Copyright © 2020-2023  润新知