C# 选择「;“动态”;从表中下拉列表项
//代码滞后文件C# 选择「;“动态”;从表中下拉列表项,c#,asp.net,drop-down-menu,tablecell,C#,Asp.net,Drop Down Menu,Tablecell,//代码滞后文件 public void Button1_Click(object sender, EventArgs e) { while (reader.Read()) { DropDownList ddl = new DropDownList(); string[] s = { "Present", "Absent1", "Absent2", "Absent3" };
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/>");
}
public void按钮1\u单击(对象发送者,事件参数e)
{
while(reader.Read())
{
DropDownList ddl=新的DropDownList();
字符串[]s={“存在”、“缺席1”、“缺席2”、“缺席3”};
对于(int i=0;i<3;i++)
{
ddl.Items.Add(s[i]);
}
ddl.ID=“ddl”;
TableCell c2=新的TableCell();
c2.控制。添加(ddl);
r、 添加(c2);
表1.行。添加(r);
}
}
公共作废按钮2\u单击1(对象发送者,事件参数e)
{
foreach(表1.控件中的TableRow tr)
{
foreach(tr.Controls中的TableCell tc)
{
如果(tc.Controls[2]为下拉列表)
{
Response.Write(((DropDownList)tc.Controls[2])。选择editem.Text+“”);
}
}
响应。写入(“
”);
}
下拉列表项的选择有问题。我无法打印相应的选定项值。有人能帮忙吗?当您在最后一个嵌套的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+" ");
}
发生了什么事?您是否遇到异常,或者您无法找到dropdownlist,或者您的dropdownlist为空?我编辑了控制部分。但问题并非如此。我仍然面临相同的问题。仍然没有打印选定的值。尽管我尝试了您的代码。是否达到了该if语句?它没有给出任何错误r、 但在点击按钮2后,不会给出任何结果。