我正在使用VS2010,C#,我有一个表,它的数据应该动态创建(从SQL服务器表),我必须添加一个组合框(有3个项目)到其中一个列,这个组合框也是动态创建的,然后我给每个组合一个唯一的ID,它将autopost back设置为off,并且当用户更改某些组合框的值(每行有一个combox),然后按下时,enableviewstate和viewstatemode为true并启用提交按钮,我想拥有我的组合框的当前状态但是他们的selectedindex是0所以我不能使用它们,我该怎么办?我有什么选择? (我发现每个组合框都使用FindControl和组合框的唯一ID)
感谢
答案 0 :(得分:1)
请在上面的问题中找到以下答案
答案 1 :(得分:0)
你可以使用回发..这里是一个示例代码片段..如果你想在回发上工作然后按照这个..否则你可以按照Rahul告诉你的方法..
public partial class DynamicCombo : System.Web.UI.Page
{
DropDownList list;
protected void Page_Init(object sender, EventArgs e)
{
Table table = CreateHtmlTable();
list = new DropDownList();
list.AutoPostBack = true;
list.SelectedIndexChanged += new EventHandler(list_SelectedIndexChanged);
list.ID = "cbo";
list.Items.Add(new ListItem("value1", "1"));
list.Items.Add(new ListItem("value2", "2"));
list.Items.Add(new ListItem("value3", "3"));
table.Rows[0].Cells[0].Controls.Add(list);
pnl.Controls.Add(table);
}
private void list_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write("<script>alert(\"" + list.SelectedIndex + "\");</script>");
}
protected void Page_Load(object sender, EventArgs e)
{
}
private Table CreateHtmlTable()
{
Table table = new Table();
table.Rows.Add(new TableRow());
table.Rows[0].Cells.AddRange(new TableCell[] { new TableCell(),
new TableCell(),
new TableCell()});
return table;
}
}