2012-06-12 45 views
1

我目前寫的(錯誤地)if語句爲:在線評估和演示if語句返回不變

<%# Eval("AccumHolidays").ToString() != "" ? Eval("AccumHolidays").ToString() : Eval("Holidays").ToString() != "" ? Eval("Holidays").ToString() : %> 0 <% %> 

這工作,直到我在最後一個else要輸出的0。尋找類似:

if(Eval("AccumHolidays").ToString() != "") 
    Eval("AccumHolidays").ToString(); 
else 
    if(Eval("Holidays").ToString() != "") 
     Eval("Holidays").ToString(); 
    else 
     Response.Write("0"); 

可能我的觀點圍繞走錯了路,但什麼是正確的語句放在aspx頁面?

+2

也許你只需要':「0」'在結尾 – V4Vendetta

+0

簡直不敢相信那是這麼簡單,以爲我試過了所有可能的組合! – anothershrubery

回答

2
<%# Eval("AccumHolidays").ToString() != "" ? 
Eval("AccumHolidays").ToString() : Eval("Holidays").ToString() != "" ? 
Eval("Holidays").ToString() : "0"%> 
+0

簡直不敢相信這是一個簡單的錯誤!現在修好!乾杯。 – anothershrubery

4

我建議一種替代方法,如果你不喜歡,可以隨意忽略它。爲什麼在您的數據源不創建一個新的屬性這樣

public string HolidaysText 
{ 
    get 
    { 
     if (AccumHolidays.ToString() != "") 
      return AccumHolidays.ToString(); 
     if (Holidays.ToString() != "") 
      return Holidays.ToString(); 
     return "0"; 
    } 
} 

然後你就可以有一個簡單的eval語句在你的頁面

<%# Eval("HolidaysText") %> 
+0

這是一個很好的解決方案,但我只是因爲它最簡單而與另一個一起使用。 – anothershrubery