c# - DropDownList 中的 ASP.NET Bind() - 字符串值与 Null

标签 c# asp.net .net entity-framework data-binding

希望有人能回答这个问题。我要拔头发了!

我有一个默认值为“”的DropDownList,用于从数据库捕获 NULL。
DropDownList 的“Value”字段是 varchar
这很好用。

但是,在保存记录时,该值将作为空字符串保留在数据库中。
稍后重新绑定(bind)该记录会引发 ArgumentOutOfRangeException
有什么推荐的解决方案吗?

我目前使用以下绑定(bind)方法:

<asp:DropDownList ID="DestinationDropDownList" runat="server" 
   DataSourceID="CountryDataSource" DataTextField="Name" 
   DataValueField="CountryRegionCode" SelectedValue='<%#Bind("DestinationCountryCode")%>'
   AppendDataBoundItems="True">
    <asp:ListItem Text="Select..." Value=""></asp:ListItem>
</asp:DropDownList>

最佳答案

发现问题:
数据库中的“国家/地区”值字段是固定长度,因此它尝试绑定(bind)到“   ”(3 个空格),而现有 ListItem 值只是“”。
我将默认的 ListItem 值更改为“   ”,现在它工作得很好。

关于c# - DropDownList 中的 ASP.NET Bind() - 字符串值与 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15917293/

相关文章:

javascript - 在同一页面上出现两次的用户控件需要 JavaScript 的唯一 div id

c# - 在 C# 中验证数字签名

c# - WCF 反序列化丢失子集合

c# - 由于 NativeWindow,如何修复 Excel VSTO 项目中的 ThreadAbortException?

c# - 乌鸦数据库 : What's wrong with this multi-map/reduce index?

asp.net - IE 无法生成报告

c# - 如何在 XAML 中分配 Control 类型的属性 - 错误

c# - claimsResponse 返回 Null

javascript - 如何在 JavaScript 中获取 checkbox1.Checked 属性?

c# - 如何在 ASP.NET 中使用标记声明对象