使用'<%#Eval(“item”)%>'; 处理空值并显示0反对
如果dataitem是Null
我想显示0
<asp:Label ID="Label18" Text='<%# Eval("item") %>' runat="server"></asp:Label>
我怎样才能做到这一点?
您也可以在页面上创build公共方法,然后从代码中调用该方法。
例如,如果使用C#:
public string ProcessMyDataItem(object myValue) { if (myValue == null) { return "0 value"; } return myValue.ToString(); }
那么在代码中的标签将是这样的:
<asp:Label ID="Label18" Text='<%# ProcessMyDataItem(Eval("item")) %>' runat="server"></asp:Label>
对不起,没有testing过这个代码,所以不能保证我得到“ <%# ProcessMyDataItem(Eval("item")) %>
”的语法完全正确。
我正在使用这个string值:
<%#(String.IsNullOrEmpty(Eval("Data").ToString()) ? "0" : Eval("Data"))%>
你也可以使用下面的可为空的值:
<%#(Eval("Data") == null ? "0" : Eval("Data"))%>
另外,如果您使用.net 4.5及以上,我build议您使用强types的数据绑定 :
<asp:Repeater runat="server" DataSourceID="odsUsers" ItemType="Entity.User"> <ItemTemplate> <%# Item.Title %> </ItemTemplate> </asp:Repeater>
我使用VB.Net以下内容:
<%# If(Eval("item").ToString() Is DBNull.Value, "0 value", Eval("item")) %>
它也应该工作
Eval("item") == null?"0": Eval("item");
而且,在这种情况下,可以使用(x = Eval(“item”)?0)。
我不太了解ASP.NET,但可以使用三元运算符吗?
http://en.wikipedia.org/wiki/Ternary_operation
如:(x = Eval(“item”))== Null? 0:x
试试这个代码可能是有用的 –
<%# ((DataBinder.Eval(Container.DataItem,"ImageFilename").ToString()=="") ? "" :"<a href="+DataBinder.Eval(Container.DataItem, "link")+"><img src='/Images/Products/"+DataBinder.Eval(Container.DataItem, "ImageFilename")+"' border='0' /></a>")%>
尝试用<%# Eval("item") %>
<%# If(Eval("item"), "0 value") %>
(或<%# Eval("item") ?? "0 value" %>
<%# If(Eval("item"), "0 value") %>
replace<%# Eval("item") %>
<%# Eval("item") ?? "0 value" %>
,当使用C#)。
使用IIF。
<asp:Label ID="Label18" Text='<%# IIF(Eval("item") Is DBNull.Value,"0", Eval("item") %>' runat="server"></asp:Label>
我已经试过这个代码,它适用于null和空情况:
'<%# (Eval("item")=="" || Eval("item")==null) ? "0" : Eval("item")%>'
- 我们如何确定我们是使用Web API 1还是使用Web API 2?
- 无法加载文件或程序集“Microsoft.ReportViewer.Common,版本= 11.0.0.0
- 在IIS8上的WCF; * .svc处理程序映射不起作用
- Minify ASP.NET应用程序的Html输出
- 如何在ASP.NET Response中传递大文件?
- 为什么GetManifestResourceStream在调用GetManifestResourceNames时存在资源名称时返回null?
- <system.web>和<system.webServer>有什么区别?
- 具有多个路由值的ASP.NET MVC URL路由
- 在C#中查找大string中的子string的所有位置