ASP.NET DropDownList绑定数据源仅显示System.Data.DataRowView如何解决
解决方案
问题根因
DropDownList控件未显式指定显示字段和值字段,绑定DataTable类型数据源时会默认调用每行对应DataRowView对象的ToString()方法,因此只会输出类型名称而非实际字段值。
修复代码
直接在DropDownList标签中补充DataTextField和DataValueField属性,取值为你SQL查询返回的字段名LandDE即可:
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2" DataTextField="LandDE" DataValueField="LandDE"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:campingConnectionString2 %>" ProviderName="<%$ ConnectionStrings:campingConnectionString2.ProviderName %>" SelectCommand="SELECT Distinct LandDE FROM campingplatz ORDER BY LandDE ASC"> </asp:SqlDataSource>
属性说明
DataTextField:配置下拉列表向用户展示的文本对应的数据源字段DataValueField:配置下拉列表每个选项的隐藏值对应的数据源字段,后续可通过DropDownList1.SelectedValue直接获取该值;如果业务需要也可以改为其他字段,比如表的主键ID字段。
内容的提问来源于stack exchange,提问作者Lothar Rappsilber
相关产品推荐
相关产品推荐

