c# - DropDownList 允许设置 DataSource 但在 DataBind 处出错
问题描述
我有一个下拉列表控件。
<asp:DropDownList runat="server" ID="ddlMarketerContract" CssClass="form-control" />
我使用 LINQ 和 EF 在代码隐藏中设置 DataSource
ddlMarketerContract.DataSource = context.Table.Select(x => x.ColumnName).Distinct().ToList();
但是在单步调试时,当我去绑定数据时
ddlMarketerContract.DataBind();
我收到“对象引用未设置为对象的实例”错误。
不知道为什么它让我设置数据源,但在绑定控件时找不到对象。
我在另一个页面上有类似的设置,但按预期工作。我想可能是因为我没有设置 DataTextField/DataValueField,但其他页面没有设置,它仍然可以正常工作。
解决方案
问题出在 LINQ 语句上。在创建字符串值的通用列表后,我能够很好地绑定控件。将修改 LINQ 查询以解决问题。
推荐阅读
- c# - 当角色面向左右时翻转 2D 子弹精灵
- javascript - 不使用哈希表的重复问题
- rancher - 用于 Azure CLI 的 YAML
- python - 从文件夹中获取特定文件并将它们保存在列表中
- javascript - 函数不会改变变量 - NodeJs
- php - 使用 xdebug 调试到 prestashop 使用 vscode 编辑器
- kotlin - http4k 路由文档
- ios - Firestore addSnapshot 在后端更改数据时创建多个副本
- mongodb - 根据喜好使用 User 和 Post MongoDB 模型生成排行榜
- node.js - 尽管我定义了 cors“Access-Control-Allow-Origin”并将其设置为值“*”,但为什么我得到了 CORS 来源