选择“;DYNAMIC”;从表中下拉列表项目
本文关键字:下拉列表 项目 DYNAMIC 选择 | 更新日期: 2023-09-27 17:58:41
//代码BehindFile
public void Button1_Click(object sender, EventArgs e)
{
while (reader.Read())
{
DropDownList ddl = new DropDownList();
string[] s = { "Present", "Absent1", "Absent2", "Absent3" };
for (int i = 0; i < 3; i++)
{
ddl.Items.Add(s[i]);
}
ddl.ID = "ddl";
TableCell c2 = new TableCell();
c2.Controls.Add(ddl);
r.Cells.Add(c2);
Table1.Rows.Add(r);
}
}
public void Button2_Click1(object sender, EventArgs e)
{
foreach (TableRow tr in Table1.Controls)
{
foreach (TableCell tc in tr.Controls)
{
if (tc.Controls[2] is DropDownList)
{
Response.Write(((DropDownList)tc.Controls[2]).SelectedItem.Text+" ");
}
}
Response.Write("<br/>");
}
下拉列表项目的选择出现问题。我无法打印相应的所选项目值。有人能帮忙吗?
在最后一个嵌套foreach中时检查tc.Controls[2]。你的下拉列表可能不是第三个控件吗?
我看不出有任何理由会迫使它成为那个细胞中的第三个控制。
你最好做这样的事情:
if(tc.FindControl("ddl") != null)
{
Response.Write(((DropDownList)tc.FindControl("ddl")).SelectedItem.Text+" ");
}
而不是:
if (tc.Controls[2] is DropDownList)
{
Response.Write(((DropDownList)tc.Controls[0]).SelectedItem.Text+" ");
}