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

asp.net mvc中的視圖生成實例分析
來源:易賢網 閱讀:768 次 日期:2015-01-07 15:11:29
溫馨提示:易賢網小編為您整理了“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)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产一区999| 一区二区欧美日韩| 国产亚洲一区在线| 一道本一区二区| 你懂的网址国产 欧美| 国产在线拍揄自揄视频不卡99 | 久久精品国产一区二区三区免费看| 欧美三级午夜理伦三级中视频| 最新成人av在线| 欧美激情一二区| 亚洲精品欧美| 欧美国产精品久久| 亚洲人成精品久久久久| 久久综合久久综合这里只有精品| 黄色成人片子| 久久久国产成人精品| 激情久久久久久| 久久精品国产一区二区三区免费看| 国产精品主播| 久久久久.com| 在线观看av一区| 欧美久久影院| 亚洲欧美日本精品| 国产偷国产偷亚洲高清97cao| 久久精品国产免费| 亚洲国产精品电影| 欧美日韩亚洲网| 亚洲欧美日韩在线播放| 国产一区二区黄色| 久久性天堂网| 欧美日韩国语| 亚洲深夜激情| 欧美日韩一区二区三区在线看| 亚洲婷婷国产精品电影人久久| 欧美日本高清视频| 亚洲特色特黄| 国产精品高潮粉嫩av| 午夜精品亚洲| 在线观看精品一区| 欧美sm重口味系列视频在线观看| 亚洲欧洲日产国产网站| 欧美午夜精品久久久久免费视| 亚洲欧美日韩精品久久久| 国产伦精品一区二区三区高清| 久久成人精品视频| 好看不卡的中文字幕| 欧美18av| 亚洲在线一区| 国内精品视频666| 免费在线观看成人av| 亚洲午夜日本在线观看| 精品电影在线观看| 欧美久久婷婷综合色| 在线中文字幕日韩| 国产精品素人视频| 久久亚洲精品伦理| 日韩视频免费| 国内外成人在线| 国产精品99一区| 久久亚洲一区二区| 亚洲视频在线二区| 在线欧美视频| 国产日韩欧美精品综合| 欧美日本簧片| 久久蜜臀精品av| 亚洲欧美日韩国产中文| 91久久精品美女| 国产综合自拍| 国产精品视频第一区| 欧美激情国产精品| 久久久久国产精品麻豆ai换脸| 国产精品视频午夜| 亚洲美女免费视频| 狠狠色狠狠色综合| 国产精品毛片一区二区三区| 免费成人高清视频| 欧美在线精品免播放器视频| 日韩亚洲精品在线| 在线观看91精品国产入口| 国产欧美一区二区三区在线老狼| 欧美极品aⅴ影院| 久久久久久伊人| 亚洲欧美综合一区| 一本色道久久综合一区| 亚洲国产专区校园欧美| 国产午夜精品理论片a级探花| 欧美午夜一区二区| 欧美美女福利视频| 欧美成人黄色小视频| 久久五月激情| 久久久久一区二区| 欧美在线三级| 午夜日韩视频| 午夜久久久久久| 亚洲午夜在线观看视频在线| 一区二区成人精品 | 欧美风情在线| 欧美成人国产va精品日本一级| 久久精品国产清高在天天线| 亚洲欧美日韩综合一区| 亚洲一区国产| 亚洲社区在线观看| 亚洲一区二区三区在线视频| 亚洲深夜影院| 亚洲性感激情| 先锋影音久久| 久久爱www久久做| 久久精品人人做人人爽电影蜜月| 久久国产99| 久久综合中文色婷婷| 美日韩精品视频| 欧美成人福利视频| 欧美精品成人| 欧美视频日韩| 国产精品一区二区视频| 国产一区二区看久久| 狠狠色狠狠色综合系列| 在线观看亚洲专区| 亚洲精品免费网站| 一区二区三区不卡视频在线观看| 中文av字幕一区| 欧美一区日本一区韩国一区| 久久精品国语| 欧美韩国在线| 欧美婷婷久久| 国产日产亚洲精品| 一区二区三区在线视频观看| 亚洲欧洲精品一区二区| 一区二区三区日韩在线观看 | 欧美在线国产| 欧美中文字幕在线观看| 久久久久久久一区二区| 你懂的一区二区| 欧美日韩久久精品| 国产麻豆成人精品| 亚洲电影视频在线| 亚洲午夜三级在线| 久久国产视频网站| 欧美极品aⅴ影院| 国产精品亚洲综合| 亚洲丰满在线| 亚洲男同1069视频| 米奇777超碰欧美日韩亚洲| 欧美日韩岛国| 国产亚洲成av人在线观看导航| 136国产福利精品导航网址| 日韩午夜在线| 久久精品青青大伊人av| 欧美精品午夜视频| 国产日韩在线视频| 亚洲精品国产系列| 欧美一区二区三区精品| 欧美精品激情在线观看| 国产精品自在欧美一区| 亚洲第一福利社区| 亚洲欧美日韩在线高清直播| 噜噜爱69成人精品| 国产欧美日韩视频| 亚洲裸体在线观看| 久久久久成人精品免费播放动漫| 欧美日韩国产综合视频在线观看中文 | 在线电影欧美日韩一区二区私密| 日韩亚洲欧美一区二区三区| 欧美中文字幕第一页| 欧美日韩另类综合| 在线观看日韩av| 亚洲欧洲av一区二区| 欧美精品久久一区| 精品91免费| 欧美日韩国产一区精品一区| 国产精品日韩欧美大师| 亚洲高清资源| 欧美中文字幕| 国产精品裸体一区二区三区| 亚洲人成在线观看一区二区| 久久gogo国模啪啪人体图| 欧美日韩亚洲高清| 亚洲成人在线观看视频| 欧美亚洲专区| 欧美三级午夜理伦三级中视频| 亚洲精品123区| 久久综合五月| 狠狠久久婷婷| 久久久xxx| 国产日本亚洲高清| 午夜精品视频在线| 欧美午夜宅男影院在线观看| 最新日韩中文字幕| 免费人成网站在线观看欧美高清| 国外成人性视频| 欧美在线关看| 国产日韩欧美黄色| 欧美一区二区三区免费视| 国产精品男女猛烈高潮激情| 一区二区三区精品国产| 欧美剧在线免费观看网站| 亚洲人成网站精品片在线观看 | 亚洲美女诱惑| 欧美激情一区二区三级高清视频| 在线观看久久av|