Asp.net 生成多个下拉列表
我必须在clientclick上生成多个下拉列表。 也就是说,每次客户端点击都会出现新的下拉列表。 我在click事件上放置了一个按钮并编写了代码 受保护的void addReq1\u单击(对象发送者,ImageClickEventArgs e) 这里的“DSUsers”是SqlDataSource “i”是静态变量 “serarch2”是带有runat服务器标记的html表 问题是只有一个控件变红了, 之后,每点击一次,相同的下拉列表就会被替换。 未向页面添加新的DropDownListAsp.net 生成多个下拉列表,asp.net,Asp.net,我必须在clientclick上生成多个下拉列表。 也就是说,每次客户端点击都会出现新的下拉列表。 我在click事件上放置了一个按钮并编写了代码 受保护的void addReq1\u单击(对象发送者,ImageClickEventArgs e) 这里的“DSUsers”是SqlDataSource “i”是静态变量 “serarch2”是带有runat服务器标记的html表 问题是只有一个控件变红了, 之后,每点击一次,相同的下拉列表就会被替换。 未向页面添加新的DropDownList 谢谢
谢谢。当您向页面动态添加任何控件时,它们在下次回发时丢失。为了使其工作,您需要在PreInit或Init事件中测试i,并在那里创建正确的行数
for (int x = 0 to i) {
DropDownList oDdl = new DropDownList();
oDdl.ID = "ddlReq" + (++x).ToString();
oDdl.DataSourceID = "DSUsers";
oDdl.DataTextField = "UName";
oDdl.DataValueField = "UName";
HtmlTableCell tc0 = new HtmlTableCell();
HtmlTableCell tc1 = new HtmlTableCell();
HtmlTableCell tc2 = new HtmlTableCell();
HtmlTableCell tc3 = new HtmlTableCell();
tc2.Controls.Add(oDdl);
HtmlTableRow tr = new HtmlTableRow();
tr.Cells.Add(tc0);
tr.Cells.Add(tc1);
tr.Cells.Add(tc2);
tr.Cells.Add(tc3);
search2.Rows.Add(tr);
}
指向的强制性链接。当您向页面动态添加任何控件时,它们将在下次回发时丢失。为了使其工作,您需要在PreInit或Init事件中测试i,并在那里创建正确的行数
for (int x = 0 to i) {
DropDownList oDdl = new DropDownList();
oDdl.ID = "ddlReq" + (++x).ToString();
oDdl.DataSourceID = "DSUsers";
oDdl.DataTextField = "UName";
oDdl.DataValueField = "UName";
HtmlTableCell tc0 = new HtmlTableCell();
HtmlTableCell tc1 = new HtmlTableCell();
HtmlTableCell tc2 = new HtmlTableCell();
HtmlTableCell tc3 = new HtmlTableCell();
tc2.Controls.Add(oDdl);
HtmlTableRow tr = new HtmlTableRow();
tr.Cells.Add(tc0);
tr.Cells.Add(tc1);
tr.Cells.Add(tc2);
tr.Cells.Add(tc3);
search2.Rows.Add(tr);
}
必须链接到。谢谢Jason,在生成新的ddl后,这里我将丢失上一个ddl(dropdownlist)中的选定值,可能每次我们重新创建上一个ddl时都会丢失该值。但是如何克服这个问题。将上面的代码移动到Init或PreInit事件,按照以下链接:谢谢Jason,这里我在生成新的ddl后丢失了先前ddl(dropdownlist)中的所选值,可能每次我们重新创建以前的ddl时都会丢失。但是如何克服这个问题。请将上面的代码移动到Init或PreInit事件,如下链接所示: