2013-10-18 24 views
0

我有一個字段,我想顯示一些內容。我想顯示與該行相關的任何值,並且if else方法變得相當長。我試過這樣的:如果以前的eval爲空,則顯示另一個eval

<%#Eval("col1")??Eval("Col2")%> 

它沒有工作。然後我試過這個:

<%#Eval("col1").ToString() ?? Eval("Col2").ToString()%> 

它也沒有工作。我做錯了什麼,或者這是不可能的?

回答

0

不要將其轉換爲字符串。你的第一行應該工作(爲我工作):

<%# Eval("Col1")??Eval("Col2") %> 
0

您可以通過使用公共的方法

public string bindVal(object myval) 
{ 
if (myval == null) 
{ 
return "NA value"; 
} 

return myVal.ToString(); 
} 

標籤代碼完成以下任務:

<asp:Label ID="lblmyvalue" Text='<%# testbind(Eval("myvalue1")) %>' runat="server"></asp:Label> 

或者你可以使用

<%#(String.IsNullOrEmpty(Eval("myvalue1").ToString()) ? "NA" : Eval("myvalue1"))%> 
+0

我知道,但它是漫長的。有一種更簡單的方法來遏制? – Kuzgun

+0

我不認爲有一個更短的方式來實現這一任務,我覺得這是做這件事的首選方式 –