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

asp.net mvc中的視圖生成實例分析
來源:易賢網 閱讀:1156 次 日期:2015-01-04 14:03:07
溫馨提示:易賢網小編為您整理了“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)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美国产精品劲爆| 亚洲午夜成aⅴ人片| 欧美电影电视剧在线观看| 欧美黄色精品| 欧美视频在线观看| 亚洲大片在线| 亚洲一区精彩视频| 欧美福利网址| 国产一区久久久| 亚洲一区二区三区在线看| 久久综合色婷婷| 国产精品有限公司| 亚洲国产专区校园欧美| 午夜日韩福利| 国产精品xxxav免费视频| 国产日韩欧美高清| 亚洲精品久久久久久下一站| 日韩亚洲欧美高清| 亚洲精品社区| 99国产精品99久久久久久粉嫩| 在线观看欧美视频| 99re6热只有精品免费观看 | 在线欧美不卡| 亚洲精品一二| 亚洲伊人网站| 伊人久久大香线蕉av超碰演员| 亚洲高清久久网| 亚洲精品色婷婷福利天堂| 午夜影院日韩| 一区二区欧美在线| 久久成人一区二区| 欧美成人第一页| 国产伦精品一区二区三区| 黄色精品网站| 在线中文字幕不卡| 久久视频国产精品免费视频在线| 久久综合狠狠综合久久综青草 | 1000精品久久久久久久久| 日韩视频在线一区| 欧美在线1区| 欧美日韩国产色视频| 国产视频一区二区三区在线观看| 国内激情久久| 亚洲系列中文字幕| 欧美激情一区二区三区 | 亚洲电影成人| 亚洲一区在线直播| 欧美粗暴jizz性欧美20| 激情六月综合| 合欧美一区二区三区| 亚洲色无码播放| 欧美国产精品va在线观看| 国产精品一区二区视频| 99天天综合性| 欧美激情成人在线| 18成人免费观看视频| 午夜激情亚洲| 国产精品久久二区二区| 一本色道久久综合亚洲精品不| 老司机精品视频一区二区三区| 国产午夜亚洲精品不卡| 亚洲欧美日韩区| 国产精品免费网站在线观看| 日韩一区二区电影网| 老司机免费视频一区二区| 国产视频久久网| 欧美亚洲综合在线| 欧美日韩一级黄| av不卡在线观看| 欧美激情一区二区三级高清视频| 狠狠色噜噜狠狠色综合久| 久久国产日韩| 国产视频久久久久久久| 伊人久久亚洲热| 久久久水蜜桃| 亚洲精品乱码| 欧美日韩中文精品| 亚洲综合视频一区| 国产精品视频网| 先锋影院在线亚洲| 国产亚洲欧美一区| 久久久久久久一区二区| 在线国产亚洲欧美| 欧美日韩一级片在线观看| 一区二区av在线| 国产精品久久久久久亚洲调教| 国产一区999| 久久午夜激情| 一本久道综合久久精品| 欧美搞黄网站| 亚洲午夜性刺激影院| 国产精品美女久久久久av超清| 好吊妞这里只有精品| 快射av在线播放一区| 亚洲高清视频在线| 欧美一区二区视频在线| 亚洲第一二三四五区| 欧美日韩国产天堂| 国产日韩免费| 欧美丰满高潮xxxx喷水动漫| 亚洲作爱视频| 麻豆成人精品| 午夜精品网站| 91久久亚洲| 欧美先锋影音| 久久亚洲免费| 亚洲一区在线免费| 国产日韩视频| 欧美日韩在线第一页| 久久久av毛片精品| 极品中文字幕一区| 国产精品免费一区二区三区在线观看 | 免播放器亚洲一区| 亚洲乱码视频| 国产一二精品视频| 欧美日韩国产色综合一二三四 | 欧美日韩国产综合视频在线观看中文| 亚洲一区二区三区精品在线观看| 尤物yw午夜国产精品视频| 欧美日韩美女| 久久美女艺术照精彩视频福利播放| 亚洲精品综合精品自拍| 欧美人与性动交α欧美精品济南到| 亚洲欧美精品一区| 亚洲精品一区二区三区四区高清 | 在线电影国产精品| 欧美日韩一区在线观看| 女主播福利一区| 一区二区三区欧美亚洲| 亚洲国内自拍| 亚洲电影在线观看| 一区二区三区在线视频播放| 国产精品成人在线| 欧美三级电影一区| 欧美日韩国产成人在线| 久久成人免费日本黄色| 久久国产福利国产秒拍| 性色av一区二区三区| 国产精品www色诱视频| 欧美黄色日本| 免费日韩av电影| 亚洲综合视频在线| 欧美一区二区在线观看| 亚洲一区尤物| 欧美亚洲在线| 久久精品视频在线观看| 欧美中文在线观看国产| 午夜精品久久久久久| 亚洲欧美日韩国产中文在线| 亚洲视频成人| 亚洲国产精品国自产拍av秋霞 | 欧美亚州一区二区三区| 欧美日韩在线精品| 欧美三级视频在线| 国产精品乱人伦中文| 亚洲第一在线综合网站| 黄色成人在线| 最新国产拍偷乱拍精品| 亚洲国产小视频| 亚洲精品一区在线观看| 一区二区成人精品| 亚洲国产精品嫩草影院| 日韩一区二区电影网| 中文在线不卡视频| 欧美在线二区| 先锋影音一区二区三区| 久久久久久午夜| 欧美精品免费看| 国产日韩欧美不卡在线| 欧美中文字幕精品| 国产欧美精品xxxx另类| 香蕉久久国产| 国模精品一区二区三区色天香| 欧美一区二区三区在线观看| 国产精品女人久久久久久| 亚洲天堂偷拍| 国产九九精品视频| 欧美一区免费视频| 黄色欧美日韩| 欧美成人高清视频| 日韩亚洲一区在线播放| 欧美日韩视频| 亚洲免费在线观看视频| 国产精品午夜视频| 久久精品国产91精品亚洲| 亚洲成人原创| 欧美日韩激情小视频| 亚洲尤物视频网| 韩国女主播一区二区三区| 欧美本精品男人aⅴ天堂| 亚洲国内精品在线| 欧美日韩国产999| 亚洲综合不卡| 精品不卡一区| 欧美久久一级| 欧美在线免费| 日韩手机在线导航| 国产精品最新自拍| 久久色在线观看| 亚洲少妇最新在线视频|