本節(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
T這種方式的結(jié)果會(huì)直接寫入Http響應(yīng)流,也就意味著它使用與當(dāng)前頁面/模板相同的TextWriter對(duì)象。
這種方式,我們需要?jiǎng)?chuàng)建一個(gè)對(duì)應(yīng)的child action 去呈現(xiàn)對(duì)應(yīng)的partial view。
當(dāng)Partial view中要顯示的數(shù)據(jù)與相應(yīng)的View model相互獨(dú)立時(shí),使用這種方式比較有用。比如:在博客中需要在每一個(gè)頁面顯示文章分類列表。因?yàn)樵谖恼路诸惲斜頃?huì)在不同的model中進(jìn)行填充。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26