在我的模型我有一個實體@ Html.DisplayNameFor的細節模型
public class Carrier
{
public Guid CarrierId { get; set; }
public string Name { get; set; }
}
我也有一個ViewModel
public class CarrierIndexViewModel
{
public IEnumerable<Carrier> Carriers { get; set; }
public PagingInfo PagingInfo { get; set; }
}
我有一個強類型(CarrierIndexViewModel)索引視圖,這是假設使用PagingInfo顯示載體表。
我試圖使用HTML幫助我的表中的頭 顯示Carrier.Name當我使用的IEnumerable作爲這個觀點我 @Html.DisplayFor(model => model.Name)
模型我怎樣才能使用我的新CarrierIndexViewModel相同的結果顯示Carrier.Name的標題?
我沒有試過,但是我想你可以說「米=> m.Carriers [0] .Name「。由於它在內部使用來自lambda表達式的元數據,因此如果「運營商」爲空或空則應該沒有關係。 – Monstieur 2013-03-28 09:29:46
我可以建議稍微調整一下嗎?如果「顯示名稱」屬性尚未應用,則需要返回屬性名稱,如下所示:「return new MvcHtmlString(metadata.DisplayName ?? name)」 – Darryl 2013-04-05 17:44:57
我喜歡這個解決方案背後的想法,但我覺得我聽到了當我想到它時,一些警報就會響起(也許我不應該考慮它:))。如果我要花時間在代碼中編寫屬性的顯示值,爲什麼不花時間在視圖中寫入顯示值?看起來更多的代碼是爲了防止將值插入視圖而編寫的,無論如何它確實是它應該在的位置。 – phreak3eb 2013-12-06 16:52:01