VB ASP.NET从数据库向DropDownList添加无重复数据时出现重复问题
问题解决:DropDownList重复显示相同数据
你的代码问题出在循环逻辑里——每次循环都固定取dv.Item(0)(也就是DataView的第一行数据),所以循环执行多少次,就会重复添加多少次第一行的内容,最终DropDownList里全是相同数据。
修复方案1:修正循环索引
把循环里的索引从固定的0改成循环变量i,这样就能依次遍历DataView里的每一行数据:
Dim ads As New Web.UI.WebControls.AccessDataSource ads.DataFile = "~/app_data/board.mdb" ads.SelectCommand = "SELECT DISTINCT [photo_species] FROM [phototable]" Dim dv As DataView = ads.Select(New DataSourceSelectArguments) For i = 0 To dv.Count - 1 DropDownList1.Items.Add(dv.Item(i).Row("photo_species")) ' 将0替换为循环变量i Next
修复方案2:直接绑定数据源(更简洁)
ASP.NET的DropDownList支持直接绑定数据源,不需要手动循环添加,代码更简洁且不易出错:
Dim ads As New Web.UI.WebControls.AccessDataSource ads.DataFile = "~/app_data/board.mdb" ads.SelectCommand = "SELECT DISTINCT [photo_species] FROM [phototable]" DropDownList1.DataSource = ads DropDownList1.DataTextField = "photo_species" ' 指定显示的字段名 DropDownList1.DataBind() ' 执行数据绑定
内容的提问来源于stack exchange,提问作者UserDuck
相关产品推荐
相关产品推荐

