2010-08-05 72 views
0

这工作:C#评估和演示ASPX乐趣

<asp:Label ID="asdf" runat="server" Text='<%# Eval("Image1") %>'></asp:Label> 

显示数据,如:L8_Pic_1.jpg

这不:

<asp:Label ID="asdfaf111" runat="server" Text='<%# Eval("Image1").ToString() %>'></asp:Label> 

它给未设置为实例的对象引用的对象错误

我打算这样做:

String.IsNullOrEmpty(Eval("Image1").ToString()) ? "noImage.jpg" : Eval("Image1") 
+0

http://stackoverflow.com/questions/3410942/linq-to-sql-default-value-nullable/3410983#3410983编辑; Convert.ToString()围绕Eval()而不是.ToString() – Tahbaza 2010-08-05 01:48:46

回答

1

您正在寻找null coalesce operator。它可以让你与??做到这一点的模式:

<%# Eval("Image1") ?? "noImage.jpg" %> 

这个计算结果为:如果的eval(“图像1”)不为空,则返回它,否则返回“noImage.jpg”。

+0

感谢TheCloudlessSky – 2010-08-05 02:21:27