我認爲這是正確的術語...是否可以使用匿名類型進行數據綁定?
基本上,我有一箇中繼器控件和一個Linq查詢檢索一些項目。通常我會直接查詢數據綁定並使用Eval來填充模板和結果。
但是,它並沒有通過非常正確的格式 - 例如,如果EndDate爲null(這是一個DateTime?),那麼我想用「Present」替換它。我在查詢結果對象中只使用了幾個屬性。
我想知道是否有類似的解決方案:
[pseudo madeup code]
var query = getResults();
List<anonymous> anonList = new List();
foreach (var q in query)
{
string myEndDate = "";
if (q.EndDate.HasValue)
{ myEndDate = q.EndDate.ToString(); }
else
{ myEndDate = "Present"; }
anonList.items.add(new { name=q.name, enddate=myEndDate };
}
repeater.Datasource = anonList;
然後
<div><%#Eval("enddate")%></div>
有沒有辦法做到這一點不把所有的邏輯是線上?它可以使它非常不可讀,特別是如果你合併了兩個可能爲空的字符串,例如`fullname = q.user.title + q.user.firstname + q.user.lastname;`如果用戶爲空,它會失敗,並且執行三個內聯檢查並將它們組合成一個變量是非常可怕的。 – NibblyPig 2011-02-16 13:58:34