Tom*_*icz 2 asp.net string dbnull casting
嘿伙计们,我数据库中的一个表有一个字段"描述",允许'Nulls'.这在ASP.NET中呈现页面时会出现问题,因为我想确保我将字符串解码为数据库中的字符串,因为我正在编写它.当然,描述中有一些NULL.我希望保留的字段.
所以我的ASP.NET页面有这个代码
<asp:TextBox ID="DescInfo" Text='<%# HttpUtility.HtmlDecode((string)Eval("Description")) %>' />
Run Code Online (Sandbox Code Playgroud)
所以当我渲染页面时,我会得到:
Unable to cast object of type 'System.DBNull' to type 'System.String'.
Run Code Online (Sandbox Code Playgroud)
我看待它的方式,我有两个选择:
要么
任何人都有更好的想法吗?
虽然DBNull无法强制转换为字符串,但它确实有一个ToString()返回空字符串的方法.我可能会这样做:
<%# HttpUtility.HtmlDecode(Eval("Description").ToString()) %>
Run Code Online (Sandbox Code Playgroud)
这样你就不必测试DBNull或任何东西.String.ToString()只返回字符串,并DBNull.ToString()返回一个空字符串.这也具有仅Eval每行调用一次而不是两次的优点.唯一可能让你失望的是你的数据包含null和DBNull(你不能调用ToString,null但你可以开启DBNull),但我不认为在这种情况下实际上是可行的.
| 归档时间: |
|
| 查看次数: |
6126 次 |
| 最近记录: |