Mvc5 控制器,视图简单说明
本系列會(huì)比Mvc4更詳細(xì)。Mvc4記錄或沒(méi)記錄的東西這里也會(huì)提到。
控制器?
自動(dòng)裝配:
一般自動(dòng)裝配對(duì)于添加的時(shí)候比較好用
?
?
視圖:
? 控制器返回的視圖,其實(shí)就是一些靜態(tài)的HTML。動(dòng)態(tài)性不好,從控制器傳遞少量數(shù)據(jù),最簡(jiǎn)單使用 ViewBag。只適用于少量數(shù)據(jù)。
?
?
強(qiáng)類型視圖
? ? ?開(kāi)始學(xué)習(xí)的時(shí)候覺(jué)得 ViewBag還行,一到寫(xiě)項(xiàng)目的時(shí)候你就會(huì)覺(jué)得ViewBag很不方便。
ViewBag的不足?
? ?因?yàn)?span style="color:#ff0000;"> ViewBag是動(dòng)態(tài)解析的,每次用的時(shí)候需要轉(zhuǎn)下行
再升級(jí)一點(diǎn),不過(guò)這個(gè)時(shí)候你是不能打點(diǎn)來(lái)輸出屬性的,因?yàn)槭?span style="color:#ff0000;">動(dòng)態(tài)解析的,只要當(dāng)運(yùn)行的時(shí)候才會(huì)解析,才會(huì)報(bào)錯(cuò)。dynamic=var
?
?這個(gè)時(shí)候就需要我們的強(qiáng)類型來(lái)完善上面的不足了。
?
?
?
?控制器向視圖傳值: ViewBag和ViewData的區(qū)別
?ViewData? 更像一種特殊的字典類型。
?ViewBag 則是動(dòng)態(tài)解析的。
?
視圖模型
?
?
?添加視圖
?
?Razor視圖引擎
?
?
?
?代碼表達(dá)式
?Razor中的核心轉(zhuǎn)換字符是 @ ,Razor很智能使其非常的受歡迎。智能:大部分可以自己判斷是屬性還是顯示的字符。
?
?HTML編碼? ? ?避免XSS攻擊,后面的文章中會(huì)詳細(xì)介紹
??
?
?
?Razor語(yǔ)法示例
?
?
?布局? ? ?等同于 web Forms里面的母版頁(yè)
①新建一個(gè)MVC5的布局頁(yè)?SiteLayoutPage.cshtml? ? 布局頁(yè)可以看作一個(gè)特別的視圖。
②創(chuàng)建與之關(guān)聯(lián)的視圖
?
?
?
?
?
?Index頁(yè)面我們做了關(guān)聯(lián)很好理解,Test頁(yè)面我們沒(méi)有做關(guān)聯(lián)也可以關(guān)聯(lián)上。那是因?yàn)橛袀€(gè) _ViewStart.cshtml 頁(yè)面
?
?
?
只在Index里面聲明Footer節(jié)而不再Test里面聲明
?
打開(kāi)Test就會(huì)報(bào)錯(cuò)
?
?
指定部分視圖
①創(chuàng)建一個(gè)返回部分視圖的方法
②添加視圖
?
?
?部分視圖一般用來(lái)進(jìn)行局部更新非常的好用。把需要變得的HTML放到局部視圖中,然后利用Ajax進(jìn)行更新非常的常見(jiàn)。
?
Index頁(yè)面:
布局頁(yè):
?
轉(zhuǎn)載于:https://www.cnblogs.com/Sea1ee/p/8470818.html
總結(jié)
以上是生活随笔為你收集整理的Mvc5 控制器,视图简单说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。