[英]MVC DisplayFor Template Selection
我說的對嗎,在MVC中,如果我有模型實體,可以說客戶,然后我使用
@Html.DisplayFor(x=>x.Customer)
它將尋找一個名為“命名”客戶的顯示模板來顯示實體?
而且,如果要傳遞的模板的對象是IEnumerable或某種類型的集合,MVC是否會自動執行迭代? 例如
@Html.DisplayFor(x => x.AllCustomers)
因此,如果我想為客戶創建一個附加視圖並強迫助手使用它,例如
@Html.DisplayFor(x => x.AllCustomers, "MyCustomTemplate")
那么該模板將必須是IEnumerable類型的強類型視圖正確嗎? 而且我必須自己創建迭代代碼?
如果MVC識別出模型實體與視圖的模型類型匹配,則好像MVC會執行迭代位。
它將尋找一個名為“命名”客戶的顯示模板來顯示實體?
是。 如果找不到object
,它將使用默認的顯示模板作為object
。
而且,如果要傳遞的模板的對象是IEnumerable或某種類型的集合,MVC是否會自動執行迭代?
該框架使用IEnumerable<T>
內置模板來執行迭代,因此從技術上講是可以的。
那么該模板將必須是IEnumerable類型的強類型視圖正確嗎?
正確。
而且我必須自己創建迭代代碼?
你是對的。 指定自定義顯示模板名稱后,框架將使用您的模板而不是默認模板,因此它必須是IEnumerable<T>
的類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.