2013-01-06 14 views
0

我的頁面有問題,因爲行中的某些值爲NULL,如果它不是NULL,我怎麼才能顯示值?如何處理中繼器中的空值?

<ItemTemplate> 
       <tr> 
        <td><%# Eval("some_db_column") %></td> 
       </tr> 
</ItemTemplate> 
+0

嘗試評估(「列」)? string.Empty – Stokedout

回答

2

試試這個:

<%#Eval("some_db_column") ?? "" %> 

?? Operator (C# Reference)

如果不工作,你也可以調用的方法在隱藏代碼:

protected string GetValue(object obj) 
{ 
    if (obj == null || DBNull.Value.Equals(obj)) 
    { 
     return String.Empty; 
    } 

    return obj.ToString(); 
} 

ASPX:

<%# GetValue(Eval("some_db_column")) %> 
+0

您擁有的第一個選項似乎不起作用:<%#Eval(「some_db_column」)?? 「」%> – loyalflow

+1

@ user1361315:可能是因爲它是'DBNull.Value'。所以你可以試試'<%#Eval(「some_db_column」)== DBNull.Value? 「」:Eval(「some_db_column」)%>'或者代碼隱藏方法哪個更好。 –