婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > ASP.NET MVC中的視圖生成實(shí)例分析

ASP.NET MVC中的視圖生成實(shí)例分析

熱門標(biāo)簽:關(guān)于宗地圖標(biāo)注技術(shù)規(guī)范 河南語(yǔ)音外呼系統(tǒng)公司 河北網(wǎng)絡(luò)回?fù)芡夂粝到y(tǒng) 400免費(fèi)電話怎么辦理 400電話辦理最優(yōu)質(zhì) 寧夏機(jī)器人電銷 t3出行地圖標(biāo)注怎么做 威海電銷 外呼電銷機(jī)器人軟件

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

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

從控制器到視圖

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

復(fù)制代碼 代碼如下:
public ActionResult Index()
{
    return this.View();
}

默認(rèn)情況下,將會(huì)調(diào)用與 Action 同名的視圖,比如,在上面的 Action 中,將會(huì)使用名為 Index 的視圖。
 
如果我們傳遞了一個(gè)字符串參數(shù),那么,這個(gè)字符串就回被視為視圖的名稱,例如,我們希望使用名為 IndexView 的視圖進(jìn)行呈現(xiàn),那么,可以如下完成。
復(fù)制代碼 代碼如下:
public ActionResult Index()
{
    return this.View("IndexView");
}

布局與視圖

MVC 會(huì)直接去找我們的視圖嗎?不會(huì)!
 
從 Action 返回之后,首先,MVC 會(huì)在 Views 文件夾下查看是否存在一個(gè)名為 _ViewStart.cshtml 的特殊文件,如果存在的話,就回執(zhí)行這個(gè)文件。
 
默認(rèn)情況下,這個(gè)文件的內(nèi)容如下所示:

復(fù)制代碼 代碼如下:
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

也就是說(shuō),它設(shè)置了我們的默認(rèn)布局使用那一個(gè)文件文件。
 
布局等價(jià)于我們?cè)?WebForm 中所使用的母版頁(yè)。
 
如果沒(méi)有這個(gè)文件,默認(rèn)沒(méi)有使用布局。
 
如果有了這個(gè)文件,而我們?cè)陧?yè)面中不想使用這個(gè)布局怎么辦呢?很簡(jiǎn)單,在頁(yè)面中設(shè)置 Layout = null 來(lái)覆蓋掉它。
復(fù)制代碼 代碼如下:
@{
    Layout = null;
}

布局中的分區(qū)

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

復(fù)制代碼 代碼如下:
body>
    @RenderBody()
/body>

假如說(shuō),我們希望在布局中的多個(gè)位置進(jìn)行輸出,比如,樣式表通常在 head> 標(biāo)記中,而現(xiàn)代的腳本則會(huì)出現(xiàn)在頁(yè)面的最后,頁(yè)面的內(nèi)容當(dāng)然出現(xiàn)在頁(yè)面的主體中了。這樣的話,我們?cè)趦?nèi)容頁(yè)面的實(shí)際內(nèi)容,將會(huì)需要在布局的不同部分進(jìn)行呈現(xiàn),而不是在同一個(gè)位置進(jìn)行呈現(xiàn)了。
 
解決的辦法就是分區(qū),實(shí)際上,類似于 WebForm 中的 ContentPlaceHolder ,定義一個(gè)命名的區(qū)域。
 
比如,下面我們定義了一個(gè)名為 scripts 的命名區(qū)域,第二個(gè)參數(shù)表示這個(gè)區(qū)域是可選的區(qū)域,在內(nèi)容頁(yè)面中可以不用提供內(nèi)容。
復(fù)制代碼 代碼如下:
body>
    @RenderBody()
 
    @RenderSection("scripts", required: false)
/body>

而在我們的內(nèi)容視圖中,默認(rèn)所有的內(nèi)容都是填充到布局頁(yè)面中的 RenderBody 部分。
 
如果不是的話,就可以在內(nèi)容頁(yè)面中,通過(guò) @section 區(qū)域名稱{ } 的方式來(lái)定義準(zhǔn)備輸出到對(duì)應(yīng)區(qū)域中的內(nèi)容了。
復(fù)制代碼 代碼如下:
@section scripts{
    script type="text/javascript">
        var i = 0;
    /script>
}

分部視圖

如果我們的頁(yè)面比較復(fù)雜,在同一個(gè)視圖中定義輸出的內(nèi)容會(huì)導(dǎo)致頁(yè)面非常復(fù)雜,通過(guò)將頁(yè)面劃分為多個(gè)比較獨(dú)立的組成部分,可以將一個(gè)復(fù)雜的頁(yè)面拆分為多個(gè)子部分來(lái)呈現(xiàn)。比如頁(yè)面的標(biāo)題部分,頁(yè)面的菜單,頁(yè)面的腳注部分等等。在 WebForm 中,解決這個(gè)問(wèn)題的技術(shù)稱為用戶控件,在 MVC 中由兩個(gè)技術(shù)來(lái)解決:分部視圖和子Action。
 
先看分部視圖,分部視圖不依賴于 Action ,只能嵌入到其他獨(dú)立視圖中使用,你可以直接在視圖文件夾中創(chuàng)建分部視圖。
 
在使用分部視圖的頁(yè)面中,使用 RenderPartial 方法調(diào)用分部視圖。

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

分部視圖與主視圖共享所有的數(shù)據(jù),比如模型,ViewData,ViewBag 等等,這些數(shù)據(jù)可以直接在分部視圖中使用。
 
如果希望分部視圖使用不同的模型對(duì)象,簡(jiǎn)化分部視圖中的數(shù)據(jù)復(fù)雜度,也可以直接傳遞一個(gè)模型對(duì)象過(guò)去。
復(fù)制代碼 代碼如下:
Html.RenderPartial("ProductSummary", p);

這里的第二個(gè)參數(shù),將會(huì)在分部視圖中當(dāng)在模型對(duì)象來(lái)使用。
 
需要注意的是 RenderPartial 方法的返回類型是 void,它會(huì)將輸出的內(nèi)容直接輸出到回應(yīng)的輸出流中。所以在使用上面語(yǔ)句的時(shí)候,不能直接嵌入到頁(yè)面中,需要放在一個(gè) @ { } 語(yǔ)句中,如下所示。
復(fù)制代碼 代碼如下:
@{
  Html.RenderPartial("ProductSummary", p);
}

如果你不喜歡這樣的語(yǔ)法,而希望直接嵌入到頁(yè)面中,也可以使用 Html.Partial 方法來(lái)呈現(xiàn),區(qū)別是這個(gè)方法返回呈現(xiàn)的 Html 片段,而不是直接輸出到輸出流中。
復(fù)制代碼 代碼如下:
@Html.Partial("ProductSummary", p)

子 Action 問(wèn)題

由于分布視圖沒(méi)有處理能力,只能繼承主頁(yè)面的數(shù)據(jù)進(jìn)行呈現(xiàn),如果需要有處理能力,怎么辦呢?在 WebForm 中,我們可以使用 Server.Execute  來(lái)嵌入其它處理程序的輸出內(nèi)容,在 MVC 中,我們使用子 Action 來(lái)處理。
 
子 Action 就是用戶不能直接訪問(wèn),只能在其他的 Action 中訪問(wèn)的 Action 方法,它與普通的 Action 一樣,有 Action 方法,還有這個(gè) Action 對(duì)應(yīng)的視圖。
 
我們使用特性 ChildActionOnly 來(lái)說(shuō)明這是一個(gè)子 Action。

復(fù)制代碼 代碼如下:
[ChildActionOnly]
public string Menu()
{
    return "Hello, from NavController";
}

如果用戶直接請(qǐng)求這個(gè)子 Action ,那么,系統(tǒng)會(huì)返回一個(gè)錯(cuò)誤信息。
 
操作“menu”只能由子請(qǐng)求訪問(wèn)。

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

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

同樣,使用 Action 則可以直接返回一個(gè) Html 片段,就不用使用一個(gè) @{ } 了。
復(fù)制代碼 代碼如下:
!--  Action -->
@Html.Action("Menu", "Nav")

希望本文所述對(duì)大家的asp.net程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • ASP.NET MVC 控制器與視圖
  • ASP.NET MVC從控制器傳遞數(shù)據(jù)到視圖的四種方式詳解
  • ASP.NET MVC4入門教程(三):添加一個(gè)視圖
  • ASP.NET MVC從視圖傳參到控制器的幾種形式
  • asp.net core mvc權(quán)限控制:在視圖中控制操作權(quán)限
  • 詳解使用asp.net mvc部分視圖渲染html
  • asp.net mvc4 mysql制作簡(jiǎn)單分頁(yè)組件(部分視圖)
  • ASP.NET MVC中分部視圖的應(yīng)用方法

標(biāo)簽:廣元 池州 淮北 固原 咸寧 樂(lè)山 吉林 賀州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET MVC中的視圖生成實(shí)例分析》,本文關(guān)鍵詞  ASP.NET,MVC,中的,視圖,生成,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET MVC中的視圖生成實(shí)例分析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ASP.NET MVC中的視圖生成實(shí)例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品欧美一区喷水| 91丝袜高跟美女视频| 国内精品伊人久久久久影院对白| 国产在线视频精品一区| 日韩欧美专区在线| 懂色av一区二区三区免费看| 成人手机电影网| 日韩黄色免费电影| 欧美一级日韩一级| 久久99精品久久久久| 日韩久久久久久| 国产成人在线观看| 一本久久a久久免费精品不卡| 中文字幕一区二区三区在线不卡| www.色综合.com| 亚洲国产综合色| 欧美不卡在线视频| 国产不卡免费视频| 亚洲va欧美va国产va天堂影院| 欧美女孩性生活视频| 国产精品一级二级三级| 一区二区三区久久久| 国产三级欧美三级日产三级99| 精品国产91洋老外米糕| 亚洲国产综合人成综合网站| 白白色亚洲国产精品| 天天影视涩香欲综合网| 日韩免费一区二区| 成人性生交大片免费看中文网站| 亚洲一区二区四区蜜桃| 久久精品欧美一区二区三区不卡 | 色综合天天综合| 亚洲欧美福利一区二区| 国产三级一区二区| 这里是久久伊人| 久国产精品韩国三级视频| 亚洲午夜在线电影| 一区二区高清在线| 国产欧美一区二区三区鸳鸯浴| 欧美一区二区三区免费大片| 99久久夜色精品国产网站| 蜜桃一区二区三区在线观看| 五月激情综合色| 日本高清不卡视频| 国产成人福利片| 亚洲成人激情av| 一区二区成人在线视频| 国产精品伦一区二区三级视频| 精品成人a区在线观看| 久久精品夜色噜噜亚洲aⅴ| 欧美激情综合五月色丁香小说| 中文字幕电影一区| 一个色在线综合| 久久精品国产免费看久久精品| 亚洲国产欧美一区二区三区丁香婷| 亚洲视频在线观看一区| 亚洲码国产岛国毛片在线| 一区av在线播放| 国产电影精品久久禁18| 欧美性一二三区| 国产精品天美传媒沈樵| 午夜精品久久久久| 国产成人精品aa毛片| 欧美男女性生活在线直播观看| 久久综合九色欧美综合狠狠| 亚洲成人动漫在线免费观看| 免费精品99久久国产综合精品| 99久久国产综合色|国产精品| 日韩一区二区免费电影| 亚洲欧洲综合另类| 麻豆精品国产传媒mv男同| 国产91精品免费| 香蕉成人啪国产精品视频综合网| 国产成人高清视频| 久久久亚洲精华液精华液精华液 | 日日骚欧美日韩| 欧美性猛片aaaaaaa做受| 国产亚洲污的网站| 国产乱码精品一品二品| 亚洲国产电影在线观看| 日韩一区二区高清| 亚洲视频电影在线| 国产成人自拍网| 国产亚洲欧美日韩在线一区| 日本va欧美va瓶| 久久久美女艺术照精彩视频福利播放| 激情综合色综合久久综合| 日韩一区二区三区视频在线| 五月婷婷综合网| 精品成人在线观看| 成人av在线电影| 久久99久久久欧美国产| 国产欧美精品在线观看| 亚洲成人激情社区| 欧美乱妇23p| 日本伊人色综合网| 国产亚洲人成网站| 欧美日韩视频在线观看一区二区三区 | 欧美日本一区二区| 欧美日韩一区国产| 视频一区二区三区入口| 国产精品成人免费| 日韩一本二本av| 91一区一区三区| 久久99国产精品免费| 偷拍自拍另类欧美| 亚洲精品日日夜夜| 国产精品国产自产拍高清av| 精品国产一区久久| 9191成人精品久久| 欧美人与性动xxxx| 成人听书哪个软件好| www.日韩精品| 欧美久久婷婷综合色| 国产精品久久久久久久久免费樱桃| 欧美视频在线一区| 99国内精品久久| av激情综合网| 成人一道本在线| 91毛片在线观看| 欧美丝袜丝nylons| 91精品黄色片免费大全| 91老师片黄在线观看| 色美美综合视频| 欧美中文字幕一二三区视频| 黑人巨大精品欧美一区| 久色婷婷小香蕉久久| 精品一区二区久久久| 高清成人免费视频| 欧美男生操女生| 国产精品情趣视频| 亚洲小说春色综合另类电影| 日韩精品电影在线| 精品制服美女久久| 成人毛片老司机大片| 欧美亚洲综合网| 精品国产一区二区三区久久影院| 一色屋精品亚洲香蕉网站| 日韩和欧美一区二区| 成人精品视频一区二区三区尤物| 91超碰这里只有精品国产| 国产精品久久二区二区| 免费人成在线不卡| 一本色道亚洲精品aⅴ| 精品女同一区二区| 一区二区三区在线视频观看| 国模大尺度一区二区三区| 欧美成人精品高清在线播放| 国产传媒日韩欧美成人| 99精品欧美一区二区三区小说| 在线成人免费观看| 久久久久久亚洲综合| 图片区日韩欧美亚洲| 色综合激情五月| 亚洲免费电影在线| 欧洲精品一区二区| 中文字幕一区二区视频| 国产一区999| 日韩西西人体444www| 蜜臂av日日欢夜夜爽一区| 欧美人动与zoxxxx乱| 三级欧美在线一区| 精品久久久久99| 成人美女视频在线观看| 亚洲成人动漫精品| 成人精品国产一区二区4080| 中文字幕电影一区| 欧美在线你懂得| 免费成人小视频| 国产精品国产精品国产专区不蜜| 91丨porny丨户外露出| 午夜天堂影视香蕉久久| 欧美电影免费观看完整版| bt欧美亚洲午夜电影天堂| 一区二区不卡在线播放| 国产午夜精品理论片a级大结局 | 狠狠色丁香久久婷婷综| 综合久久给合久久狠狠狠97色| 欧美午夜寂寞影院| 丁香婷婷综合网| 奇米色777欧美一区二区| 国产精品成人网| 精品国产一区二区三区四区四 | 麻豆一区二区99久久久久| ww久久中文字幕| 欧美欧美午夜aⅴ在线观看| av不卡在线播放| 国产电影精品久久禁18| 美女视频一区二区| 日本亚洲天堂网| 日韩成人免费在线| 日韩在线一区二区| 日本中文字幕一区二区视频| 亚洲一区二区在线免费观看视频| 综合久久久久综合| 一区二区在线电影| 亚洲成人手机在线| 午夜电影网一区| 美国三级日本三级久久99| 免费人成黄页网站在线一区二区|