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

asp.net mvc中的視圖生成實例分析
來源:易賢網 閱讀:1319 次 日期:2014-12-22 15:11:02
溫馨提示:易賢網小編為您整理了“asp.net mvc中的視圖生成實例分析”,方便廣大網友查閱!

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

在 asp.net mvc 中,我們將前端的呈現劃分為三個獨立的部分來實現,controller 用來控制用戶的操作,view 用來控制呈現的內容,model 用來表示處理的數據。

從控制器到視圖

通常,在 controller 中,我們定義多個 action ,每個 action 的返回類型一般是 actionresult,在 action 處理的最后,我們返回對于視圖的調用。

復制代碼 代碼如下:public actionresult index()

{

return this.view();

}

默認情況下,將會調用與 action 同名的視圖,比如,在上面的 action 中,將會使用名為 index 的視圖。

如果我們傳遞了一個字符串參數,那么,這個字符串就回被視為視圖的名稱,例如,我們希望使用名為 indexview 的視圖進行呈現,那么,可以如下完成。

復制代碼 代碼如下:public actionresult index()

{

return this.view(indexview);

}

布局與視圖

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

從 action 返回之后,首先,mvc 會在 views 文件夾下查看是否存在一個名為 _viewstart.cshtml 的特殊文件,如果存在的話,就回執行這個文件。

默認情況下,這個文件的內容如下所示:

復制代碼 代碼如下:@{

layout = ~/views/shared/_layout.cshtml;

}

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

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

如果沒有這個文件,默認沒有使用布局。

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

復制代碼 代碼如下:@{

layout = null;

}

布局中的分區

在布局頁面中,默認就回存在一個特殊的指令 @renderbody(),這是說,你在內容頁面中呈現的內容,將會在這里進行輸出。這就是在使用布局之后,你會發現你的視圖中已經沒有了 <html> 標記的原因。

復制代碼 代碼如下:<body>

@renderbody()

</body>

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

解決的辦法就是分區,實際上,類似于 webform 中的 contentplaceholder ,定義一個命名的區域。

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

復制代碼 代碼如下:<body>

@renderbody()

@rendersection(scripts, required: false)

</body>

而在我們的內容視圖中,默認所有的內容都是填充到布局頁面中的 renderbody 部分。

如果不是的話,就可以在內容頁面中,通過 @section 區域名稱{ } 的方式來定義準備輸出到對應區域中的內容了。

復制代碼 代碼如下:@section scripts{

<script type=text/javascript>

var i = 0;

</script>

}

分部視圖

如果我們的頁面比較復雜,在同一個視圖中定義輸出的內容會導致頁面非常復雜,通過將頁面劃分為多個比較獨立的組成部分,可以將一個復雜的頁面拆分為多個子部分來呈現。比如頁面的標題部分,頁面的菜單,頁面的腳注部分等等。在 webform 中,解決這個問題的技術稱為用戶控件,在 mvc 中由兩個技術來解決:分部視圖和子action。

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

在使用分部視圖的頁面中,使用 renderpartial 方法調用分部視圖。

復制代碼 代碼如下:html.renderpartial(productsummary);

分部視圖與主視圖共享所有的數據,比如模型,viewdata,viewbag 等等,這些數據可以直接在分部視圖中使用。

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

復制代碼 代碼如下:html.renderpartial(productsummary, p);

這里的第二個參數,將會在分部視圖中當在模型對象來使用。

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

復制代碼 代碼如下:@{

html.renderpartial(productsummary, p);

}

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

復制代碼 代碼如下:@html.partial(productsummary, p)

子 action 問題

由于分布視圖沒有處理能力,只能繼承主頁面的數據進行呈現,如果需要有處理能力,怎么辦呢?在 webform 中,我們可以使用 server.execute 來嵌入其它處理程序的輸出內容,在 mvc 中,我們使用子 action 來處理。

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

我們使用特性 childactiononly 來說明這是一個子 action。

復制代碼 代碼如下:[childactiononly]

public string menu()

{

return hello, from navcontroller;

}

如果用戶直接請求這個子 action ,那么,系統會返回一個錯誤信息。

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

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

復制代碼 代碼如下:@{ html.renderaction(menu, nav); }

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

復制代碼 代碼如下:<!-- action -->

@html.action(menu, nav)

更多信息請查看IT技術專欄

更多信息請查看網絡編程
易賢網手機網站地址:asp.net mvc中的視圖生成實例分析
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产欧美日韩高清| 亚洲国产欧美不卡在线观看| 欧美日韩国产综合视频在线观看| 欧美日韩一区三区| 一区二区三区在线视频观看| 一区二区久久久久| 1024亚洲| 久久精品国产99国产精品| 久久久精品网| 一区二区电影免费观看| 日韩视频一区二区在线观看| 91久久线看在观草草青青| 欧美片在线播放| 亚洲一区视频| 久久精品主播| 亚洲欧美精品在线| 玖玖玖国产精品| 宅男噜噜噜66国产日韩在线观看| 欧美一区二区私人影院日本| 欧美亚日韩国产aⅴ精品中极品| 亚洲韩国青草视频| 葵司免费一区二区三区四区五区| 国产欧美日韩专区发布| 亚洲午夜激情网页| 亚洲国产精品一区二区www在线| 亚洲欧美精品suv| 久久久久久网址| 免费成人在线观看视频| 伊人夜夜躁av伊人久久| 亚洲综合三区| 国产伦理精品不卡| 在线一区二区日韩| 国产老肥熟一区二区三区| 亚洲欧美日韩国产综合| 国产精品试看| 久久亚洲捆绑美女| 日韩午夜电影| 国产日韩精品在线观看| 久久久www成人免费精品| 亚洲电影第1页| 欧美精品1区| 亚洲午夜国产成人av电影男同| 国产精品每日更新| 久久人人97超碰国产公开结果 | 国产日韩欧美在线视频观看| 亚洲国产精品va在线看黑人| 欧美大片18| 亚洲欧美日韩精品综合在线观看| 国产日韩一区在线| 欧美精品三级| 久久精品视频在线播放| 亚洲伦理自拍| 国产女人精品视频| 国产精品视频自拍| 六月婷婷久久| 午夜视黄欧洲亚洲| 亚洲精品社区| 在线看视频不卡| 国产亚洲精品7777| 欧美三级中文字幕在线观看| 久久精品国产第一区二区三区| av成人免费在线| 亚洲成色最大综合在线| 国产一区二区三区久久| 国产午夜精品全部视频在线播放| 欧美国产第一页| 欧美电影专区| 欧美激情一区二区三区蜜桃视频| 久久婷婷色综合| 久热精品视频| 美脚丝袜一区二区三区在线观看 | 欧美日韩视频不卡| 欧美夫妇交换俱乐部在线观看| 久久亚洲一区| 欧美国产日韩一区二区| 欧美精品午夜| 国产精品久久久一区麻豆最新章节| 欧美理论大片| 国产精品女主播在线观看| 国产伦精品一区二区三区视频孕妇 | 久久婷婷蜜乳一本欲蜜臀| 午夜在线一区| 亚洲国产欧美一区二区三区丁香婷| 99精品福利视频| 在线观看日韩www视频免费| 国产日韩欧美精品一区| 国产女主播一区二区| 国产欧美一区二区三区在线老狼| 国产精品亚洲产品| 国产视频观看一区| 国精产品99永久一区一区| 精品成人乱色一区二区| 伊人狠狠色丁香综合尤物| 国产亚洲精品v| 精品成人久久| 宅男精品视频| 久久久99精品免费观看不卡| 欧美大香线蕉线伊人久久国产精品| 欧美日韩免费区域视频在线观看| 欧美成在线观看| 欧美日韩国产影片| 国产一区二区中文| 国产美女搞久久| 欧美成人资源| 午夜国产精品视频免费体验区| 欧美午夜精彩| 99视频超级精品| 国产精品激情电影| 亚洲免费av观看| 久久精品99| 日韩午夜在线播放| 精品91在线| 国语对白精品一区二区| 欧美午夜一区二区三区免费大片| 亚洲欧美日韩第一区 | 在线观看国产一区二区| 久久一区中文字幕| 亚洲精品免费电影| 国产麻豆精品久久一二三| 欧美一区二区在线播放| 亚洲精品一区久久久久久| 国产欧美视频在线观看| 国产日韩欧美三区| 亚洲区免费影片| 亚洲精品久久久久久久久久久| 亚洲欧美卡通另类91av| 欧美日本一区| 一区二区欧美国产| 久久本道综合色狠狠五月| 欧美一区二区三区四区夜夜大片| 亚洲第一网站| 亚洲精品亚洲人成人网| 欧美视频导航| 亚洲一区免费视频| 国产农村妇女毛片精品久久莱园子 | 欧美日韩中文字幕在线视频| 99国内精品久久| 欧美日韩在线三区| 日韩亚洲国产精品| 国产精品日韩欧美一区| 91久久精品国产91性色| 欧美 日韩 国产 一区| 国产一区二区三区四区hd| 久久影视精品| 亚洲中午字幕| 黑人巨大精品欧美一区二区| 亚洲欧美春色| 国产揄拍国内精品对白| 免费亚洲婷婷| 欧美影视一区| 亚洲三级免费电影| 国产精品国产三级国产aⅴ9色| 亚洲视频狠狠| 国产乱码精品一区二区三区av| 欧美久久一级| 久久精品视频在线免费观看| 日韩一区二区免费看| 亚洲激情影视| 欧美午夜片欧美片在线观看| 久久久久久久一区二区| 亚洲亚洲精品在线观看 | 亚洲少妇最新在线视频| 国产日韩欧美在线播放不卡| 久久综合激情| 蜜桃久久精品乱码一区二区| 久久不射2019中文字幕| 日韩一本二本av| 国产在线乱码一区二区三区| 你懂的国产精品| 久久视频免费观看| 久久亚洲综合色| 蜜桃av噜噜一区| 性娇小13――14欧美| 亚洲精品日韩激情在线电影 | 久久久99免费视频| 国产精品日韩精品| 欧美日韩国产电影| 久久黄金**| 欧美在线一区二区| 香蕉久久夜色精品| 久久久久久久久综合| 性高湖久久久久久久久| 午夜视频在线观看一区二区三区 | 国产亚洲毛片在线| 国产精品一页| 国产综合色在线| 一区视频在线看| 亚洲精品中文字幕在线| 亚洲一区二区少妇| 久久久噜噜噜久久人人看| 香蕉久久精品日日躁夜夜躁| 一本大道久久a久久综合婷婷 | 欧美日韩国产高清| 国产精品一区久久久久| 亚洲电影自拍| 老鸭窝毛片一区二区三区| 久久偷窥视频| 欧美成人午夜免费视在线看片| 欧美亚男人的天堂| 韩日精品视频|