使用 '<%# Eval("item") %>';处理空值并显示 0
如果 dataitem 为 Null
我想显示 0
<asp:Label ID="Label18" Text='<%# Eval("item") %>' runat="server"></asp:Label>
我怎样才能做到这一点?
If dataitem is Null
I want to show 0
<asp:Label ID="Label18" Text='<%# Eval("item") %>' runat="server"></asp:Label>
How can I accomplish this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
您还可以在页面上创建一个公共方法,然后从前面的代码中调用该方法。
例如,如果使用 C#:
那么前面代码中的标签将类似于:
抱歉,尚未测试此代码,因此不能保证我得到“
<%# ProcessMyDataItem(Eval( "item")) %>
" 完全正确。You can also create a public method on the page then call that from the code-in-front.
e.g. if using C#:
Then the label in the code-in-front will be something like:
Sorry, haven't tested this code so can't guarantee I got the syntax of "
<%# ProcessMyDataItem(Eval("item")) %>
" entirely correct.我将其用于字符串值:
您还可以将以下内容用于可空值:
此外,如果您使用 .net 4.5 及更高版本,我建议您使用 强类型数据绑定:
I'm using this for string values:
You can also use following for nullable values:
Also if you're using .net 4.5 and above I suggest you use strongly typed data binding:
我在 VB.Net 中使用以下内容:
I use the following for VB.Net:
它应该也有效
It should work as well
此外,在这种情况下您可以使用 (x = Eval("item") ?? 0) 。
http://msdn.microsoft.com/en-us/library/ms173224。 ASPX
Moreover, you can use (x = Eval("item") ?? 0) in this case.
http://msdn.microsoft.com/en-us/library/ms173224.aspx
我不太了解 ASP.NET,但是你能使用三元运算符吗?
http://en.wikipedia.org/wiki/Ternary_operation
类似:
(x=Eval("item")) == Null ? 0:x
I don't know ASP.NET very well, but can you use the ternary operator?
http://en.wikipedia.org/wiki/Ternary_operation
Something like:
(x=Eval("item")) == Null ? 0 : x
使用 IIF。
Use IIF.
尝试这个代码,它可能有用 -
try this code it might be useful -
使用杰森答案的修改版本:
Used a modified version of Jason's answer:
尝试将
<%# Eval("item") %>
替换为<%# If(Eval("item"), "0 value") %>
(或<%# Eval("item") ?? "0 value" %>
,当使用 C# 时)。Try replacing
<%# Eval("item") %>
with<%# If(Eval("item"), "0 value") %>
(or<%# Eval("item") ?? "0 value" %>
, when using C#).我已经尝试过这段代码,它适用于空和空的情况:
I have tried this code and it works well for both null and empty situations :
您可以将以下内容用于 VB.net,特别是当该值是布尔值时:
例如,使用它来自动选中或取消选中具有内联 IIF eval 的复选框: 使用
.ToString 的其他方法将导致尝试转换 DBnull 时出错为布尔值。
You can use the following for VB.net, especially if the value is a boolean:
For example, use this to automatically check or uncheck a checkbox with inline IIF eval:
The other method with .ToString will cause an error trying to convert the DBnull to a boolean.