2010-08-05 79 views
1

問題:如果從數據庫返回null,如何讓Linq將默認值'noImage.jpg'設爲默認值。LINQ to SQL默認值??可空

我查詢一個表:

<asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="Materials.MaterialsDataClassesDataContext" 
    TableName="Materials" EnableDelete="True" EnableInsert="True" EnableUpdate="True"> 
</asp:LinqDataSource> 

則顯示圖像:

<telerik:GridTemplateColumn HeaderText="Image" UniqueName="Image"> 
         <ItemTemplate> 
          <a href="<%=VirtualPathUtility.ToAbsolute("~/")%>showFrontEndMaterialDetail.aspx?materialId=<%# Eval("Id")%>"> 
          <img src="<%=VirtualPathUtility.ToAbsolute("~/")%>Images/Uploaded/Thumbs/<%# Eval("Image1") %>"></img></a> 
         </ItemTemplate> 
        </telerik:GridTemplateColumn> 

我原本以爲它(但沒有)有:

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

沒有'string?'這樣的東西。 – Necros 2010-08-05 01:59:42

回答

1

怎麼樣

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

謝謝Tahbaza .. http://stackoverflow.com/questions/3411155/c-eval-aspx-fun有用也縮短到<%#評估(「Image1」)? 「noImage.jpg」%> – 2010-08-05 02:20:44