动态创建控制 [英] dynamic creation of control

查看:51
本文介绍了动态创建控制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我想在每个下拉选项上创建带标签和按钮(动态)的面板。

每当我在下拉列表中选择一个带有标签和按钮的面板应该创建,当我在下拉列表中选择下一个值时,应该创建另一个带有标签和按钮的面板。我尝试了但是当我从下拉列表中选择下一个选项时,第一个值被清除。请帮帮我。

Hi,

I want to create panel with label and button (dynamically) on every dropdown selection.
Each time when I select one value in dropdown one panel with label and button should get created and while I select next value in dropdown another panel with label and button should get created. I tried it but when i select next option from dropdown panel for first value is cleared. Please help me.

推荐答案

Designer:







<form id="form1" runat="server">
    <div>
    
        <asp:dropdownlist id="DropDownList1" runat="server" autopostback="True" xmlns:asp="#unknown">
            onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            <asp:listitem>a</asp:listitem>
            <asp:listitem>b</asp:listitem>
            <asp:listitem>c</asp:listitem>
            <asp:listitem>d</asp:listitem>
            <asp:listitem>e</asp:listitem>
        </asp:dropdownlist>
        <br />
        <asp:scriptmanager id="ScriptManager1" runat="server" xmlns:asp="#unknown">
        </asp:scriptmanager>
        <asp:updatepanel id="UpdatePanel1" runat="server" xmlns:asp="#unknown">
        <contenttemplate>
        </contenttemplate>
        <triggers>
        <asp:asyncpostbacktrigger controlid="DropDownList1" />
        </triggers>
        </asp:updatepanel>
    
    </div>
    <form></form></form>










CodeBehind:







public partial class _Default : System.Web.UI.Page 
{
    int i;
    protected void Page_Load(object sender, EventArgs e)
    {
            
        if (Page.IsPostBack==false)
	{
		 i = 0;
            ViewState["value"] = 0;
        }
        i = int.Parse(ViewState["value"].ToString());
 
	}

  
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
         for(int j=0;j<=i;j++)
         {
            Panel pnl=new Panel();
            pnl.ID = j.ToString();
           Button btn= new Button();
           btn.ID = "btn" + j.ToString();
            btn.Text = "btn" + j.ToString();
            pnl.BackColor = System.Drawing.Color.LightGreen;
            pnl.Controls.Add(btn);
            UpdatePanel1.ContentTemplateContainer.Controls.Add(pnl);
            }
       
        i = i + 1;
        ViewState["value"] = i.ToString();
    }
    protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
    {

    }
}


这篇关于动态创建控制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆