本節(jié)主要講解了PartialView
Q70. 什么是ASP.NET MVC 中的 Partial View(分布視圖)?
Ans. Partial view 類似于ASP.NET Web forms 中的user control(用戶控件)用來進行代碼重用。 Partial views 幫助我們減少重復代碼。
因此 Partial views是可重用的,像Header和Footer視圖那樣。
我們可以使用它去顯示博客評論,商品類別,社交按鈕,動態(tài)時鐘日歷等等。
創(chuàng)建partial view 的最佳實踐是在Shared文件夾創(chuàng)建并以 "_"為前綴命名,但這并不是強制的。視圖以 "_" 為前命名則說明該view是一個可重用的。
Q71. 如何在controller中返回partial view ?
Ans.return PartialView(options);
其中 options可以是一個Model或View名稱。
Q72. ASP.NET MVC有哪幾種方式用來返回一個Partial View?
Ans. 主要有以下四種方式:
Html.RenderPartial
這種方式的結果會直接寫入Http響應流,也就意味著它使用與當前頁面/模板相同的TextWriter對象。
這個方法返回值類型為void。
可以直接使用不需要創(chuàng)建action。
當Partial view中要顯示的數據已經在相應的View Model中時,使用RenderPartial 方法將非常好用。比如:在博客中要顯示一篇文章的評論,就可以使用RenderPartial來顯示評論,因為文章信息及評論一般文章的View Model中填充了。
@{Html.RenderPartial("_Comments");}
這個方法比Partial方法快是因為它的結果直接寫入響應流。
Html.RenderAction
T這種方式的結果會直接寫入Http響應流,也就意味著它使用與當前頁面/模板相同的TextWriter對象。
這種方式,我們需要創(chuàng)建一個對應的child action 去呈現對應的partial view。
當Partial view中要顯示的數據與相應的View model相互獨立時,使用這種方式比較有用。比如:在博客中需要在每一個頁面顯示文章分類列表。因為在文章分類列表會在不同的model中進行填充。
網友評論