2012-06-08 78 views

回答

9

局部視圖只不過是Html的一個「塊」,您可以將其保存在單獨的文件中,以便在其他視圖中重複使用。有點像ASP.NET WebForms中的UserControls。

一個強類型的視圖意味着它具有關聯一個視圖模型控制器被傳遞給它,並在該視圖的所有元素可以使用這些視圖模型屬性

您可以有強類型的諧音爲好。這意味着一段HTML的需要具體的數據,所以你鍵入它到一定的視圖模型

這裏是強類型查看

@model SomeViewModel 

...// all the html comes after 

的一個例子是不是強類型的視圖沒有@model SomeViewModel

這裏呈現正常的視圖,而無需一個ViewModel

public ActionResult Index() { 
    return View(); 
} 

這裏的控制器操作的一個例子是一個呈現一強類型查看

public ActionResult Index() { 
    var model = new SomeViewModel(); 
    return View(model); 
} 

而且鑑於具有@model SomeViewModel在文件的頂部利用該視圖模型的。

所以,現在該視圖有一個ViewModel我可以顯示被綁定到視圖模型等

@Html.TextBoxFor(m => m.FirstName) 
@Html.CheckBoxFor(m => m.IsAwesome) 

所以輸入到這些字段的任何數據被綁定到視圖模型的元件。當用戶點擊提交按鈕時,這些輸入的值將被髮送回服務器。

正如我之前所說的,部分視圖是Html的可重用部分。因此,在同樣的觀點中,我可以補充一下我的觀點。比方說,我有一個包含的HTML標準的位,我想都在我的網站上重複使用的局部視圖,就像一個頁腳

我可以創建一個.cshtml文件,並把這個

<div> footer text here</div> 

裏面然後將它包含在任何視圖中,無論它是否強類型都沒關係,它只是可重用的Html

@model SomeViewModel 

@Html.TextBoxFor(m => m.FirstName) 
@Html.CheckBoxFor(m => m.IsAwesome) 

{@Html.RenderPartial("MyFooter")} 
+0

感謝您的回答。那麼有什麼優勢?你可以多解釋一下嗎? – kbvishnu

+0

@VeeKeyBee這真​​的是一個'教程'式的問題。你試過在谷歌搜索你的問題嗎? –

+0

@VeeKeyBee我只是試圖谷歌它,第一個結果是答案:http://www.google.com/#hl=en&output=search&sclient=psy-ab&q=What+is+the+difference+between+a+partial+view+and+一個+強+類型+局部+視圖+在+ ASP.NET + MVC和OQ =什麼是+的+差+ + A +局部+視圖+和+ A +強+類型+局部+視圖之間+在+ ASP。 NET + MVC&A Q = F&AQI = AQL = gs_l = hp.3 ... 936.13577.0.13894.98.69.1.21.21.0.150.4782.59j10.69.0 ... 1.0.4ptEDgYwJtg與PBX = 1&BAV = on.2,or.r_gc.r_pw。 r_qf。,cf.osb&fp = 3fbf9333af451b8d&biw = 1920&bih = 979 –

相關問題