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

使用虚拟代码从SSMS拉取数据的ASP.NET下拉列表报错解决

ASP.NET下拉列表报错解决办法

先明确核心问题

从报错截图来看,错误提示是DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'xxx'——这跟C#的string和SQL的varchar类型没有关系,大概率是你绑定下拉列表时指定的字段名,和SQL查询返回的字段名不匹配。

关于类型兼容的说明

别纠结string和varchar的差异了,这俩完全兼容,直接映射不会报错。真遇到SQL字段为空的情况,用ISNULL(字段名, '默认文本')在SQL语句里处理就行。

正确的下拉列表绑定步骤

  1. 写出正确的SQL查询语句
string sql = "SELECT 主键字段名, 显示文本字段名 FROM 你的数据表";
SqlCommand cmd = new SqlCommand(sql, 你的数据库连接对象);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
  1. 绑定到下拉列表(字段名必须和SQL查询结果完全一致,大小写都不能错)
ddl你的控件ID.DataSource = dt;
ddl你的控件ID.DataValueField = "主键字段名";
ddl你的控件ID.DataTextField = "显示文本字段名";
ddl你的控件ID.DataBind();
  1. 确认ASPX页面的控件ID和后台代码一致
<asp:DropDownList ID="ddl你的控件ID" runat="server"></asp:DropDownList>

额外排查点

  • 检查数据库连接是否正常,连接字符串别写错,绑定前确保连接已打开。
  • 确认SQL查询能返回数据,要是查出来是空表,下拉列表只会为空,不会报绑定错误。

内容的提问来源于stack exchange,提问作者Ozzy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 11:10:13