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

asp.net mvc中的視圖生成實例分析
來源:易賢網 閱讀:744 次 日期:2014-12-29 15:11:00
溫馨提示:易賢網小編為您整理了“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)

希望本文所述對大家的asp.net程序設計有所幫助。

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

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

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

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美一区二区视频在线| 久久久福利视频| 亚洲人成精品久久久久| 国产欧美高清| 国产精品综合久久久| 欧美揉bbbbb揉bbbbb| 欧美亚州在线观看| 国产欧美一区二区视频| 国产一区二区三区日韩| 在线观看视频一区二区| 亚洲人成在线观看一区二区| 亚洲精品视频一区二区三区| 亚洲天堂av在线免费| 欧美一区二区三区四区视频| 奶水喷射视频一区| 欧美日韩伦理在线免费| 国产精品一区二区三区观看| **欧美日韩vr在线| 欧美在线视频一区| 欧美性一区二区| 亚洲国产天堂久久综合网| 亚洲欧美国产日韩天堂区| 欧美a级片网站| 好男人免费精品视频| 亚洲制服av| 美国十次了思思久久精品导航| 国产精品久久久99| 99视频精品全国免费| 另类图片综合电影| 亚洲高清av| 欧美大色视频| 日韩一级大片| 欧美日韩国产影片| 亚洲素人在线| 国产视频一区二区三区在线观看| 一区二区三区日韩精品| 欧美日韩三级视频| 亚洲免费在线播放| 国产精品区一区二区三| 亚洲一区一卡| 国产综合色产在线精品| 久久久噜噜噜| 亚洲伦理久久| 国产手机视频一区二区| 久久av一区二区三区漫画| 伊人久久成人| 国产精品久久久久久久久久久久久久 | 悠悠资源网亚洲青| 久久久久国产精品www| 亚洲国产精品第一区二区三区| 欧美国产视频在线| 亚洲一二三区精品| 在线观看视频一区二区| 欧美午夜无遮挡| 久久亚洲欧美| 亚洲欧美国产高清| 亚洲日本无吗高清不卡| 国产午夜精品一区二区三区欧美| 欧美在线资源| 中文精品一区二区三区| 91久久精品国产91性色| 国产情侣久久| 国产日韩欧美精品| 欧美日韩亚洲网| 国产一区二区视频在线观看| 在线观看视频一区二区欧美日韩| 久久久久久色| 国产一区二区在线观看免费| 欧美精品三级日韩久久| 一区二区三区毛片| 欧美搞黄网站| 国产九九视频一区二区三区| 久久精品视频va| 欧美在线一级视频| 午夜欧美大片免费观看| 国产精品一区久久久久| 亚洲自拍电影| 99视频精品| 在线日韩精品视频| 一区在线电影| 国产日韩一区二区三区| 国产精品美女主播| 宅男噜噜噜66一区二区66| 久久激五月天综合精品| 激情久久久久久久| 亚洲香蕉伊综合在人在线视看| 亚洲图中文字幕| **性色生活片久久毛片| 欧美视频在线不卡| 你懂的成人av| 欧美在线观看你懂的| 在线午夜精品自拍| 亚洲国产精品尤物yw在线观看| 国产精品久久网站| 欧美成年人视频| 久久蜜桃精品| 亚洲欧美影院| 亚洲欧美日韩精品久久| 中日韩美女免费视频网址在线观看| 在线观看一区| 国产一区免费视频| 国产日韩欧美中文| 国产欧美日韩视频在线观看 | 精品999网站| 国产精品自拍一区| 欧美亚洲第一页| 久久综合久色欧美综合狠狠 | 亚洲大黄网站| 国外成人在线| 国产一区二区三区无遮挡| 国产精品日本精品| 国产精品久久97| 国产视频在线一区二区| 国产日韩欧美成人| 国产午夜精品久久久久久久| 国产欧美日韩| 国产视频自拍一区| 国产原创一区二区| 亚洲电影激情视频网站| 亚洲福利国产| 一区二区三区四区国产| 午夜精彩视频在线观看不卡| 午夜精品区一区二区三| 欧美一级播放| 久久人人爽人人爽| 欧美精品成人一区二区在线观看 | 亚洲视屏在线播放| 午夜一区二区三区在线观看| 久久精品一区二区三区中文字幕 | 欧美在线影院在线视频| 久久蜜桃精品| 欧美精品一区二区三区久久久竹菊| 欧美精品一区三区| 国产精品久久久久久av福利软件| 国产精品美女久久福利网站| 国内精品久久国产| 亚洲日韩成人| 性欧美8khd高清极品| 久久综合网hezyo| 国产精品久久久久久久久久久久久久| 国产精品自拍三区| 亚洲福利免费| 午夜激情久久久| 女同一区二区| 国产欧美一区二区三区另类精品 | 很黄很黄激情成人| 99re6这里只有精品视频在线观看| 亚洲午夜羞羞片| 欧美18av| 国产日韩成人精品| 亚洲精品美女| 久久免费午夜影院| 欧美亚男人的天堂| 亚洲精品乱码久久久久久日本蜜臀 | 国产精品稀缺呦系列在线| 国产一区二区黄色| 一区二区久久久久| 久久亚洲精品一区| 国产亚洲一区二区精品| 亚洲精选视频在线| 久久夜色精品亚洲噜噜国产mv| 国产精品毛片va一区二区三区| 亚洲国产精品一区二区第四页av | 伊人久久婷婷色综合98网| 中文av字幕一区| 欧美日韩国产成人在线免费| 国产综合色产在线精品| 欧美在线中文字幕| 国产精品久久久久久久久久三级| 狠狠色伊人亚洲综合网站色| 亚洲一级特黄| 美女福利精品视频| 国内精品视频久久| 中文亚洲视频在线| 欧美日韩大片| 99视频精品免费观看| 欧美国产欧美亚洲国产日韩mv天天看完整 | 国产精品一二一区| 日韩一级成人av| 欧美成人激情在线| 在线播放中文一区| 久热精品视频在线观看一区| 国产一区二区中文字幕免费看| 亚洲字幕在线观看| 欧美午夜精品理论片a级大开眼界| 在线日本成人| 一本综合久久| 欧美日韩一区三区四区| 中文久久精品| 国产精品久久久久一区二区三区 | 亚洲欧美日韩区| 国产精品日韩欧美一区| 久久国产精品一区二区| 国产精品久久久一区二区三区| 亚洲图色在线| 国产日韩亚洲欧美精品| 欧美一区二区三区四区在线观看地址| 国产精品乱人伦中文| 午夜精品福利电影| 国产亚洲精品高潮|