zoukankan      html  css  js  c++  java
  • 在用户控件中动态添加控件及事件

    问题来自网上:

    动态添加控件,应该加在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页面中,并运行:

  • 相关阅读:
    简便的将DataSet导入到数据库中
    数据类型的小小研究:Access与SQL Server的数据类型
    【jxust acm 20120708】
    【D ECJTU_ACM 11级队员2012年暑假训练赛(2)】
    【hdu 2101 A + B Problem Too】
    【hdu 1014】
    【hdu 1164 Eddy's research I】
    【开始,安全编程】
    【hdu 1285 确定比赛名次】
    【hdu 1163 Eddy's digital Roots 】
  • 原文地址:https://www.cnblogs.com/insus/p/2732306.html
Copyright © 2011-2022 走看看