【发布时间】:2011-08-30 16:29:30
【问题描述】:
我在主(静态)下拉列表的选择更改事件上动态创建多个下拉列表。这些是在默认Table 的TableCell 中创建的。单击提交按钮时,我需要加载一个新页面,其中包含选定的下拉列表值作为参数。基本上我需要在第二页中获取下拉结果。
这是创建保管箱的方式:
while (reader.Read())
{
pcID = int.Parse(reader["fk_pcID"].ToString());
pcDesc = GetpcDescription(pcID);
List<Product> prodList = GetProductsBypcID(pcID);
DropDownList ddList = new DropDownList();
ddList.ID = "ddlPC" + pcID;
foreach(Product prod in prodList)
{
ddList.Items.Add(new ListItem(prod.ProductName, prod.ProductID.ToString()));
}
TableCell cell1 = new TableCell();
cell1.Text = pcDesc;
TableCell cell2 = new TableCell();
cell2.Controls.Add(ddList);
TableRow row = new TableRow();
row.Cells.Add(cell1);
row.Cells.Add(cell2);
table.Rows.Add(row);
}
编辑:上面的代码在设置为 runat server 的下拉列表的选择更改事件中运行。但动态创建的下拉菜单未设置为在服务器上运行
【问题讨论】:
-
请不要在问题前加上“ASP.NET:”。在Stack Overflow,我们使用标签对问题进行分类。
-
如果您在回发时检索值时遇到问题,可能是您在页面生命周期中创建动态控件为时已晚。尝试在您的网络表单初始化时添加它们 (OnInit)