本節(jié)主要講解了PartialView

Q70. 什么是ASP.NET MVC 中的 Partial View(分布視圖)?
Ans. Partial view 類似于ASP.NET Web forms 中的user control(用戶控件)用來進(jìn)行代碼重用。 Partial views 幫助我們減少重復(fù)代碼。
因此 Partial views是可重用的,像Header和Footer視圖那樣。
我們可以使用它去顯示博客評(píng)論,商品類別,社交按鈕,動(dòng)態(tài)時(shí)鐘日歷等等。
創(chuàng)建partial view 的最佳實(shí)踐是在Shared文件夾創(chuàng)建并以 "_"為前綴命名,但這并不是強(qiáng)制的。視圖以 "_" 為前命名則說明該view是一個(gè)可重用的。


Q71. 如何在controller中返回partial view ?
Ans.return PartialView(options);
其中 options可以是一個(gè)Model或View名稱。


Q72. ASP.NET MVC有哪幾種方式用來返回一個(gè)Partial View?
Ans. 主要有以下四種方式:
Html.RenderPartial

  • 這種方式的結(jié)果會(huì)直接寫入Http響應(yīng)流,也就意味著它使用與當(dāng)前頁面/模板相同的TextWriter對(duì)象。

  • 這個(gè)方法返回值類型為void。

  • 可以直接使用不需要?jiǎng)?chuàng)建action。

  • 當(dāng)Partial view中要顯示的數(shù)據(jù)已經(jīng)在相應(yīng)的View Model中時(shí),使用RenderPartial 方法將非常好用。比如:在博客中要顯示一篇文章的評(píng)論,就可以使用RenderPartial來顯示評(píng)論,因?yàn)槲恼滦畔⒓霸u(píng)論一般文章的View Model中填充了。
    @{Html.RenderPartial("_Comments");}

  • 這個(gè)方法比Partial方法快是因?yàn)樗慕Y(jié)果直接寫入響應(yīng)流。

Html.RenderAction