Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 生成多个下拉列表_Asp.net - Fatal编程技术网

Asp.net 生成多个下拉列表

Asp.net 生成多个下拉列表,asp.net,Asp.net,我必须在clientclick上生成多个下拉列表。 也就是说,每次客户端点击都会出现新的下拉列表。 我在click事件上放置了一个按钮并编写了代码 受保护的void addReq1\u单击(对象发送者,ImageClickEventArgs e) 这里的“DSUsers”是SqlDataSource “i”是静态变量 “serarch2”是带有runat服务器标记的html表 问题是只有一个控件变红了, 之后,每点击一次,相同的下拉列表就会被替换。 未向页面添加新的DropDownList 谢谢

我必须在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事件,如下链接所示: