中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

ASP.NET MVC中的視圖生成實例分析
來源:易賢網(wǎng) 閱讀:866 次 日期:2014-12-18 14:05:17
溫馨提示:易賢網(wǎng)小編為您整理了“ASP.NET MVC中的視圖生成實例分析”,方便廣大網(wǎng)友查閱!

本文實例分析了ASP.NET MVC中的視圖生成過程。分享給大家供大家參考。具體如下:

在 ASP.NET MVC 中,我們將前端的呈現(xiàn)劃分為三個獨立的部分來實現(xiàn),Controller 用來控制用戶的操作,View 用來控制呈現(xiàn)的內(nèi)容,Model 用來表示處理的數(shù)據(jù)。

從控制器到視圖

通常,在 Controller 中,我們定義多個 Action ,每個 Action 的返回類型一般是 ActionResult,在 Action 處理的最后,我們返回對于視圖的調(diào)用。

復(fù)制代碼 代碼如下:public ActionResult Index()

{

return this.View();

}

默認(rèn)情況下,將會調(diào)用與 Action 同名的視圖,比如,在上面的 Action 中,將會使用名為 Index 的視圖。

如果我們傳遞了一個字符串參數(shù),那么,這個字符串就回被視為視圖的名稱,例如,我們希望使用名為 IndexView 的視圖進(jìn)行呈現(xiàn),那么,可以如下完成。

復(fù)制代碼 代碼如下:public ActionResult Index()

{

return this.View("IndexView");

}

布局與視圖

MVC 會直接去找我們的視圖嗎?不會!

從 Action 返回之后,首先,MVC 會在 Views 文件夾下查看是否存在一個名為 _ViewStart.cshtml 的特殊文件,如果存在的話,就回執(zhí)行這個文件。

默認(rèn)情況下,這個文件的內(nèi)容如下所示:

復(fù)制代碼 代碼如下:@{

Layout = "~/Views/Shared/_Layout.cshtml";

}

也就是說,它設(shè)置了我們的默認(rèn)布局使用那一個文件文件。

布局等價于我們在 WebForm 中所使用的母版頁。

如果沒有這個文件,默認(rèn)沒有使用布局。

如果有了這個文件,而我們在頁面中不想使用這個布局怎么辦呢?很簡單,在頁面中設(shè)置 Layout = null 來覆蓋掉它。

復(fù)制代碼 代碼如下:@{

Layout = null;

}

布局中的分區(qū)

在布局頁面中,默認(rèn)就回存在一個特殊的指令 @RenderBody(),這是說,你在內(nèi)容頁面中呈現(xiàn)的內(nèi)容,將會在這里進(jìn)行輸出。這就是在使用布局之后,你會發(fā)現(xiàn)你的視圖中已經(jīng)沒有了 <html> 標(biāo)記的原因。

復(fù)制代碼 代碼如下:<body>

@RenderBody()

</body>

假如說,我們希望在布局中的多個位置進(jìn)行輸出,比如,樣式表通常在 <head> 標(biāo)記中,而現(xiàn)代的腳本則會出現(xiàn)在頁面的最后,頁面的內(nèi)容當(dāng)然出現(xiàn)在頁面的主體中了。這樣的話,我們在內(nèi)容頁面的實際內(nèi)容,將會需要在布局的不同部分進(jìn)行呈現(xiàn),而不是在同一個位置進(jìn)行呈現(xiàn)了。

解決的辦法就是分區(qū),實際上,類似于 WebForm 中的 ContentPlaceHolder ,定義一個命名的區(qū)域。

比如,下面我們定義了一個名為 scripts 的命名區(qū)域,第二個參數(shù)表示這個區(qū)域是可選的區(qū)域,在內(nèi)容頁面中可以不用提供內(nèi)容。

復(fù)制代碼 代碼如下:<body>

@RenderBody()

@RenderSection("scripts", required: false)

</body>

而在我們的內(nèi)容視圖中,默認(rèn)所有的內(nèi)容都是填充到布局頁面中的 RenderBody 部分。

如果不是的話,就可以在內(nèi)容頁面中,通過 @section 區(qū)域名稱{ } 的方式來定義準(zhǔn)備輸出到對應(yīng)區(qū)域中的內(nèi)容了。

復(fù)制代碼 代碼如下:@section scripts{

<script type="text/javascript">

var i = 0;

</script>

}

分部視圖

如果我們的頁面比較復(fù)雜,在同一個視圖中定義輸出的內(nèi)容會導(dǎo)致頁面非常復(fù)雜,通過將頁面劃分為多個比較獨立的組成部分,可以將一個復(fù)雜的頁面拆分為多個子部分來呈現(xiàn)。比如頁面的標(biāo)題部分,頁面的菜單,頁面的腳注部分等等。在 WebForm 中,解決這個問題的技術(shù)稱為用戶控件,在 MVC 中由兩個技術(shù)來解決:分部視圖和子Action。

先看分部視圖,分部視圖不依賴于 Action ,只能嵌入到其他獨立視圖中使用,你可以直接在視圖文件夾中創(chuàng)建分部視圖。

在使用分部視圖的頁面中,使用 RenderPartial 方法調(diào)用分部視圖。

復(fù)制代碼 代碼如下:Html.RenderPartial("ProductSummary");

分部視圖與主視圖共享所有的數(shù)據(jù),比如模型,ViewData,ViewBag 等等,這些數(shù)據(jù)可以直接在分部視圖中使用。

如果希望分部視圖使用不同的模型對象,簡化分部視圖中的數(shù)據(jù)復(fù)雜度,也可以直接傳遞一個模型對象過去。

復(fù)制代碼 代碼如下:Html.RenderPartial("ProductSummary", p);

這里的第二個參數(shù),將會在分部視圖中當(dāng)在模型對象來使用。

需要注意的是 RenderPartial 方法的返回類型是 void,它會將輸出的內(nèi)容直接輸出到回應(yīng)的輸出流中。所以在使用上面語句的時候,不能直接嵌入到頁面中,需要放在一個 @ { } 語句中,如下所示。

復(fù)制代碼 代碼如下:@{

Html.RenderPartial("ProductSummary", p);

}

如果你不喜歡這樣的語法,而希望直接嵌入到頁面中,也可以使用 Html.Partial 方法來呈現(xiàn),區(qū)別是這個方法返回呈現(xiàn)的 Html 片段,而不是直接輸出到輸出流中。

復(fù)制代碼 代碼如下:@Html.Partial("ProductSummary", p)

子 Action 問題

由于分布視圖沒有處理能力,只能繼承主頁面的數(shù)據(jù)進(jìn)行呈現(xiàn),如果需要有處理能力,怎么辦呢?在 WebForm 中,我們可以使用 Server.Execute 來嵌入其它處理程序的輸出內(nèi)容,在 MVC 中,我們使用子 Action 來處理。

子 Action 就是用戶不能直接訪問,只能在其他的 Action 中訪問的 Action 方法,它與普通的 Action 一樣,有 Action 方法,還有這個 Action 對應(yīng)的視圖。

我們使用特性 ChildActionOnly 來說明這是一個子 Action。

復(fù)制代碼 代碼如下:[ChildActionOnly]

public string Menu()

{

return "Hello, from NavController";

}

如果用戶直接請求這個子 Action ,那么,系統(tǒng)會返回一個錯誤信息。

操作“menu”只能由子請求訪問。

在其它視圖中,可以使用 RenderAction 來訪問子 Action,類似于 RenderPartial 方法,這個方法直接將內(nèi)容輸出到輸出流中,由于它們的返回類型都是 void ,所以需要使用 @{} 來使用。

復(fù)制代碼 代碼如下:@{ Html.RenderAction("Menu", "Nav"); }

同樣,使用 Action 則可以直接返回一個 Html 片段,就不用使用一個 @{ } 了。

復(fù)制代碼 代碼如下:<!-- Action -->

@Html.Action("Menu", "Nav")

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:ASP.NET MVC中的視圖生成實例分析
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
在线观看日韩av| 好吊色欧美一区二区三区四区 | 亚洲国产一区二区a毛片| 黄色av日韩| 99爱精品视频| 久久综合伊人77777蜜臀| 欧美精品99| 国产亚洲精品aa| 亚洲国产一区二区视频| 午夜激情综合网| 欧美激情视频网站| 亚洲福利一区| 久久精品亚洲| 国产精品入口尤物| 99国内精品久久| 麻豆精品在线观看| 国产一区美女| 香蕉成人伊视频在线观看| 欧美日韩国语| 亚洲伦理网站| 欧美国产日本| 亚洲欧洲一二三| 欧美成人福利视频| 亚洲国内精品| 奶水喷射视频一区| 亚洲福利视频三区| 久久亚洲视频| 亚洲成色精品| 老色鬼精品视频在线观看播放| 国产乱码精品一区二区三区不卡| 亚洲视频碰碰| 国产精品日韩精品| 性做久久久久久免费观看欧美| 国产精品女人网站| 欧美一区二区免费视频| 国产午夜精品视频| 久久综合伊人77777| 在线欧美日韩精品| 美女在线一区二区| 亚洲精品日产精品乱码不卡| 欧美经典一区二区三区| 亚洲精品国精品久久99热| 欧美激情视频在线播放| 99这里只有久久精品视频| 欧美午夜精品久久久久久孕妇| 日韩午夜在线| 国产精品国产三级国产专播品爱网 | 亚洲欧美欧美一区二区三区| 国产精品久久综合| 9久草视频在线视频精品| 亚洲欧美成人一区二区在线电影| 欧美久久久久久久久| 一区二区三区日韩在线观看 | 亚洲日本理论电影| 欧美国产日韩精品免费观看| 亚洲作爱视频| 国产日韩欧美精品综合| 久久国产婷婷国产香蕉| 亚洲国产婷婷香蕉久久久久久99| 欧美精品日韩一本| 午夜在线观看免费一区| 亚洲高清不卡在线| 国产精品视频yy9299一区| 久久久蜜桃精品| 亚洲午夜在线观看视频在线| 狠狠88综合久久久久综合网| 欧美精品一区二区在线播放| 午夜精品美女久久久久av福利| 伊人久久综合| 国产精品永久免费| 欧美啪啪一区| 久久伊人精品天天| 亚洲欧美一级二级三级| 亚洲日本在线视频观看| 国产在线日韩| 国产精品毛片| 欧美日韩国产首页| 久久综合国产精品台湾中文娱乐网| 一区二区三区国产| 亚洲黄一区二区| 狠狠色丁香婷综合久久| 国产乱码精品一区二区三区不卡| 欧美 日韩 国产一区二区在线视频 | 国产精品人人做人人爽| 欧美裸体一区二区三区| 国产精品爽爽爽| 中国av一区| 亚洲视频播放| 亚洲品质自拍| 国产精品久久国产精品99gif| 久热re这里精品视频在线6| 亚洲欧美久久| 亚洲午夜久久久久久久久电影院 | 久久精品二区亚洲w码| 日韩一区二区精品葵司在线| 激情综合色综合久久| 国产农村妇女精品一二区| 欧美日韩一区自拍| 欧美人成在线| 欧美极品一区| 欧美伦理在线观看| 欧美日本不卡高清| 欧美日韩国产经典色站一区二区三区| 另类人畜视频在线| 久久伊人亚洲| 欧美大片在线观看一区| 免费一区视频| 欧美人成在线视频| 欧美日韩一区自拍| 国产精品卡一卡二| 国产麻豆91精品| 狠狠色综合网站久久久久久久| 国产欧美一区视频| 国内精品免费在线观看| 在线观看久久av| 亚洲精品视频啊美女在线直播| 91久久香蕉国产日韩欧美9色| 亚洲精品乱码久久久久久蜜桃麻豆 | 国产在线精品自拍| 黑人极品videos精品欧美裸| 在线成人中文字幕| 亚洲伦理久久| 亚洲欧美日韩国产中文在线| 欧美一区二区三区四区在线观看 | 日韩香蕉视频| 日韩午夜激情电影| 亚洲香蕉视频| 久久精品视频在线看| 美国十次成人| 欧美丝袜一区二区| 国产午夜一区二区三区| 亚洲成人资源网| 亚洲四色影视在线观看| 久久精品国产精品亚洲| 欧美激情视频网站| 国产一区二区三区奇米久涩| 91久久国产自产拍夜夜嗨| 中文日韩在线| 另类图片国产| 国产精品高清在线| 亚洲成色www久久网站| 亚洲一区日韩| 欧美二区不卡| 激情成人中文字幕| 亚洲欧美色婷婷| 欧美区日韩区| 在线视频成人| 欧美一区二区三区免费在线看| 免播放器亚洲| 国产永久精品大片wwwapp| 一区二区动漫| 欧美高清视频一二三区| 国产亚洲精品久久久久婷婷瑜伽| 99国产精品久久久久久久| 久久久久久久综合日本| 国产精品午夜电影| 99精品国产在热久久| 美女爽到呻吟久久久久| 国产自产v一区二区三区c| 亚洲一区二区伦理| 欧美日韩亚洲国产精品| 亚洲国产专区校园欧美| 久久免费视频网站| 国产亚洲一级高清| 欧美一区二区精美| 国产乱码精品一区二区三| 亚洲一区二区三区四区视频| 欧美日韩精品二区| 99国产精品视频免费观看| 欧美国产亚洲另类动漫| 亚洲日本欧美日韩高观看| 麻豆精品91| 亚洲黄网站黄| 欧美喷水视频| 亚洲午夜久久久久久久久电影院| 欧美日韩伦理在线| 中日韩美女免费视频网址在线观看 | aa级大片欧美三级| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产亚洲精品高潮| 久久精品一本久久99精品| 国产亚洲成年网址在线观看| 欧美高清自拍一区| 亚洲一区视频在线| 久久精品成人| 亚洲视频网在线直播| 欧美激情一区二区在线 | 亚洲大片一区二区三区| 国产精品久久99| 亚洲第一久久影院| 美女诱惑一区| 亚洲精品视频在线播放| 欧美日韩三级电影在线| 亚洲欧美日韩第一区| 国产欧美日韩另类一区 | 国内精品一区二区三区| 国产色产综合色产在线视频| 亚洲欧美日韩另类| 国产一区二区三区av电影 | 亚洲精品美女在线|