2011-01-21 78 views
4

我只是在尋找這兩個是如何不同的,他們的優點和缺點是什麼?編輯器模板和部分視圖之間有什麼區別?

看來你可以用模板做的所有部分視圖。

+0

問題無關與剃刀或MVC3具體地說,所以我修改了標題和關鍵字 – 2011-01-22 00:35:43

+0

我很抱歉,但你剛剛修改了問題以適合你的答案? =)請參見下面的鏈接(這就是我說的):http://stackoverflow.com/questions/4383554/asp-net-mvc-3-razor-templates-vs-renderpartial – Andrei 2011-01-24 03:09:57

回答

6

如果您指的是EditorTemplates(而不是內聯時間片),那麼會有一些很大的差異。首先,部分視圖要求您在使用視圖時指定視圖,而模板則處理數據對象的類型。其次,因爲模板是處理數據類型的,所以當你對模板進行更改時,它會在使用該類型的任何地方更改它,而不僅僅局部視圖的使用位置(這在某些情況下也可能是不利的例)。

第三,模板傳遞了部分視圖不是的附加信息,特別是您接收模型元數據(例如由屬性創建的)。

+0

你不獲取部分的ModelMetadata呢?我認爲ModelMetadata是ViewData的一個屬性,而不是特定於Display&Editor模板。 – danludwig 2011-01-22 01:16:08

0

,如果你的意思是「內聯幫手」,他們只是建築的HtmlHelper擴展方法相當於一個更簡單的方法 - 但它們只在特定視圖中使用。局部視圖,在另一方面,可以讓他們(經由它們的控制器)後面更多的邏輯而不違反MVC並且它們可以從多個視圖被容易地重複使用

相關問題