2009-05-20 101 views

回答

13

我個人認爲部分視圖或多或少類似於asp.net中的usercontrol,它充當一組可重用的功能元素。例如,如果您需要製作可能會出現在整個網站上的登錄控制框,則局部視圖會更好。局部視圖更重要的是,它實際上是自帶的,具有自己的渲染/處理策略(也可以有自己的狀態)

另一方面,htmlhelper只是用於保存編碼時間和維護的工具,以某種方式更好的可讀性在您的代碼。

1

我想補充:您將使用的HtmlHelper呈現在用戶控件元素,如果存在的話htmlhelpers不能做的工作......所以我們把它作爲一個規則:當使用的HtmlHelper

在場景中你,而不是用戶控件(局部視圖)是壞的方法 並且當您使用的HtmlHelper作爲用於呈現頁面的原子元素的輔助 場景/用戶控件是很好的方法

16

HtmlHelpers - HTML的小位(自定義鏈接,按鈕,輸入等)

PartialViews - 更復雜的事情(表單,頁眉,頁腳,列表項等)

11

爲HTML幫助程序(只是方法)編寫測試比部分視圖要容易得多。如果我正在寫一些具有邏輯的東西,比如基於viewdata內容的不同輸出,那麼我會使用一個幫助器來測試它。如果我創建一個沒有任何真實邏輯的可重用內容,那麼我可能會使用局部視圖。