动态创建控制 [英] dynamic creation of control
本文介绍了动态创建控制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在每个下拉选项上创建带标签和按钮(动态)的面板。
每当我在下拉列表中选择一个带有标签和按钮的面板应该创建,当我在下拉列表中选择下一个值时,应该创建另一个带有标签和按钮的面板。我尝试了但是当我从下拉列表中选择下一个选项时,第一个值被清除。请帮帮我。
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屋!
查看全文