页面:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtNum" runat="server" ontextchanged="txtNum_TextChanged" AutoPostBack="true"></asp:TextBox>
</div>
<div id="divSelect" runat="server">
</div>
</form>
</body>
</html>
代码:
protected void txtNum_TextChanged(object sender, EventArgs e)
{
int result = 0;
bool isnum = int.TryParse(txtNum.Text,out result);
for (int i = 1; i <= result; i++)
{
string id = "ddl" + i.ToString();
Label lab = new Label();
lab.Text = "类型" + i;
divSelect.Controls.Add(lab);
DropDownList ddl = new DropDownList();
ddl.ID = id;
ddl.DataSource = 数据源;
ddl.DataTextField = 字段名;
ddl.DataValueField = 字段值;
ddl.DataBind();
divSelect.Controls.Add(ddl);
}
}
如上面的代码,添加多个控件后如何取得他们的值
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtNum" runat="server" ontextchanged="txtNum_TextChanged" AutoPostBack="true"></asp:TextBox>
</div>
<div id="divSelect" runat="server">
</div>
</form>
</body>
</html>
代码:
protected void txtNum_TextChanged(object sender, EventArgs e)
{
int result = 0;
bool isnum = int.TryParse(txtNum.Text,out result);
for (int i = 1; i <= result; i++)
{
string id = "ddl" + i.ToString();
Label lab = new Label();
lab.Text = "类型" + i;
divSelect.Controls.Add(lab);
DropDownList ddl = new DropDownList();
ddl.ID = id;
ddl.DataSource = 数据源;
ddl.DataTextField = 字段名;
ddl.DataValueField = 字段值;
ddl.DataBind();
divSelect.Controls.Add(ddl);
}
}
如上面的代码,添加多个控件后如何取得他们的值
foreach (Control con in this.divSelect.Controls)
{
if (con is Label)
{
//code
}
if (con is DropDownList)
{
//code
}
}
bool isnum = int.TryParse(txtNum.Text, out result);
for (int i = 1; i <= result; i++)
{
string aaa = ((DropDownList)this.FindControl("ddl" + i.ToString())).SelectedValue;
}
何必要用什么动态控件,不稳定。。