zoukankan      html  css  js  c++  java
  • 还是动态添加控件 触发事件

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;

    namespace WebApplication1
    {
        
    /// <summary>
        
    /// Dy01 的摘要说明。
        
    /// </summary>

        public class Dy01 : System.Web.UI.Page
        
    {
            
    protected System.Web.UI.WebControls.Button Button1;
            
    protected System.Web.UI.HtmlControls.HtmlForm Form1;
            
    private static bool AddIt = false;
        
            
    private void Page_Load(object sender, System.EventArgs e)
            
    {
                
    // 在此处放置用户代码以初始化页面

                
    //点了添加按钮之后不会马上添加下拉框  应为Page_Load在ButtonClick之前执行, AddIt还是上次的值
                
    //要想控件能触发事件 必须在PageLoad事件之前判断.
                if( AddIt )
                
    {
                    DropDownList ddl 
    = new DropDownList();

                    ddl.AutoPostBack 
    = true;
                    ddl.SelectedIndexChanged 
    += new EventHandler(ddl_SelectedIndexChanged);

                    
    this.Form1.Controls.Add( ddl );

                    
    //子项要在父控件添加之后添加  这样ViewState才会保存 追赶
                    ddl.Items.Add(new ListItem("1","1") );
                    ddl.Items.Add(
    new ListItem("2","2") );

                }

                
            }


            
    Web 窗体设计器生成的代码

            
    private void Button1_Click(object sender, System.EventArgs e)
            
    {
                AddIt 
    = true;
                
            }


            
    private void ddl_SelectedIndexChanged(object sender, EventArgs e)
            
    {
                Response.Write(
    "触发了下拉框的回传事件");
            }

        }

    }

    实现:
    点击按钮后添加一个下拉框 下拉框可以触发事件。

    1. 控件要在Load事件之前添加才能触发自己的回传事件。
    2. 先添加父控件再添加它的子项,这样可以保存ViewState. 有一个周期追赶的过程。
  • 相关阅读:
    XPSP2 PSDK(还有lostspeed)
    给c++程序员的一份礼物——常用工具集
    setStyleSheet来设定窗口部件的样式
    Guava学习笔记:Immutable(不可变)集合
    迷你MVVM框架 avalonjs 0.82发布
    看到他我一下子就悟了-- 反射
    C# Socket编程
    Exchange Server 2013 一步步安装图解
    编码标准之格式
    Drupal与大型网站架构(译)- Large-Scale Web Site Infrastructure and Drupal
  • 原文地址:https://www.cnblogs.com/yizhinantian/p/832516.html
Copyright © 2011-2022 走看看