You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 00:57:03