簡體   English   中英

MVC顯示用於模板選擇

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM