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

asp.net mvc中的視圖生成實(shí)例分析
來(lái)源:易賢網(wǎng) 閱讀:1043 次 日期:2015-01-19 13:53:36
溫馨提示:易賢網(wǎng)小編為您整理了“asp.net mvc中的視圖生成實(shí)例分析”,方便廣大網(wǎng)友查閱!

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

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

從控制器到視圖

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

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

{

return this.view();

}

默認(rèn)情況下,將會(huì)調(diào)用與 action 同名的視圖,比如,在上面的 action 中,將會(huì)使用名為 index 的視圖。

如果我們傳遞了一個(gè)字符串參數(shù),那么,這個(gè)字符串就回被視為視圖的名稱(chēng),例如,我們希望使用名為 indexview 的視圖進(jìn)行呈現(xiàn),那么,可以如下完成。

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

{

return this.view(indexview);

}

布局與視圖

mvc 會(huì)直接去找我們的視圖嗎?不會(huì)!

從 action 返回之后,首先,mvc 會(huì)在 views 文件夾下查看是否存在一個(gè)名為 _viewstart.cshtml 的特殊文件,如果存在的話(huà),就回執(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è)面的主體中了。這樣的話(huà),我們?cè)趦?nèi)容頁(yè)面的實(shí)際內(nèi)容,將會(huì)需要在布局的不同部分進(jìn)行呈現(xiàn),而不是在同一個(gè)位置進(jìn)行呈現(xiàn)了。

解決的辦法就是分區(qū),實(shí)際上,類(lèi)似于 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 部分。

如果不是的話(huà),就可以在內(nèi)容頁(yè)面中,通過(guò) @section 區(qū)域名稱(chēng){ } 的方式來(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ù)稱(chēng)為用戶(hù)控件,在 mvc 中由兩個(gè)技術(shù)來(lái)解決:分部視圖和子action。

先看分部視圖,分部視圖不依賴(lài)于 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 方法的返回類(lèi)型是 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 就是用戶(hù)不能直接訪(fǎng)問(wèn),只能在其他的 action 中訪(fǎng)問(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;

}

如果用戶(hù)直接請(qǐng)求這個(gè)子 action ,那么,系統(tǒng)會(huì)返回一個(gè)錯(cuò)誤信息。

操作“menu”只能由子請(qǐng)求訪(fǎng)問(wèn)。

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

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

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

復(fù)制代碼 代碼如下:<!-- action -->

@html.action(menu, nav)

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

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:asp.net mvc中的視圖生成實(shí)例分析
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話(huà):0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
性久久久久久| 国产精品一区一区| 欧美午夜电影在线观看| 亚洲国产1区| 午夜免费在线观看精品视频| 国精品一区二区三区| 欧美日韩国产成人| 久久视频免费观看| 国产精品日韩专区| 欧美成人午夜| 亚洲精品偷拍| 久久久久久噜噜噜久久久精品| 国产精品视频xxx| 亚洲精选视频免费看| 亚洲网站啪啪| 国产精品久久久久高潮| 亚洲国产高清一区| 欧美阿v一级看视频| 先锋影音一区二区三区| 最新69国产成人精品视频免费| 亚洲一级黄色av| 国产精品视频精品| 亚洲精品中文字幕女同| 国产日韩欧美在线看| 欧美日韩高清在线| 亚洲精品欧洲| 欧美国产日产韩国视频| 午夜视频一区在线观看| 99在线|亚洲一区二区| 在线免费观看日本一区| 欧美人与性动交cc0o| 在线播放日韩欧美| 亚洲激精日韩激精欧美精品| 99亚洲一区二区| 欧美日韩午夜激情| 国产精品久久久久毛片大屁完整版| 国产亚洲精品bt天堂精选| 欧美一区二区三区另类 | 国产欧美一区二区三区视频| 一区二区三区四区国产| 欧美成ee人免费视频| 亚洲人在线视频| 欧美三区在线视频| 欧美一级理论性理论a| 国产伦精品一区二区三区在线观看 | 国产精品久久久久毛片大屁完整版| 欧美精品一区二区视频| 亚洲韩日在线| 国产精品私拍pans大尺度在线| 亚洲一区在线播放| 国产一区二区久久精品| 欧美日韩一区二区高清| 久久久成人精品| 亚洲欧美成aⅴ人在线观看| 红桃av永久久久| 国产欧美精品久久| 欧美视频在线一区二区三区| 免播放器亚洲一区| 久久国产精品久久久久久电车| 在线视频一区二区| 亚洲人久久久| 激情久久五月| 国产一区二区中文| 国产情侣一区| 国产精品免费福利| 欧美激情亚洲另类| 欧美精品系列| 欧美黑人国产人伦爽爽爽| 久久女同精品一区二区| 久久免费视频观看| 久久免费视频这里只有精品| 久久久国际精品| 免费黄网站欧美| 欧美高清视频一区| 欧美日韩三级在线| 国产精品亚洲综合天堂夜夜| 国产一级精品aaaaa看| 国产一区二区久久久| 在线精品视频一区二区| 亚洲人成人一区二区三区| 亚洲国产成人在线视频| 在线观看91精品国产麻豆| 亚洲三级视频在线观看| 亚洲视频一区在线| 亚洲欧美日韩视频一区| 久久先锋影音| 欧美亚男人的天堂| 亚洲福利视频二区| 亚洲影视九九影院在线观看| 玖玖综合伊人| 国产精品一区一区三区| 亚洲精品在线免费| 亚洲欧美日韩中文视频| 欧美黑人在线观看| 加勒比av一区二区| 国产精品99久久久久久久久 | 欧美美女日韩| 国产日韩精品在线播放| 夜夜嗨av一区二区三区四季av| 久久精品女人的天堂av| 欧美日韩一区二区三区四区在线观看| 国产色视频一区| 亚洲在线免费视频| 欧美性猛交xxxx免费看久久久| 亚洲国产精品久久久久婷婷884| 欧美在线首页| 国产亚洲一区二区三区在线观看 | 欧美xx视频| 国内精品久久久久影院 日本资源| 亚洲综合色婷婷| 国产精品手机视频| 亚洲欧美在线看| 国产欧美日韩一区二区三区在线| 亚洲少妇自拍| 国产精品久久久久av| 亚洲欧美日韩综合| 激情一区二区三区| 欧美成人午夜影院| 中文亚洲字幕| 国产资源精品在线观看| 麻豆成人综合网| 9i看片成人免费高清| 国产精品欧美日韩一区二区| 午夜精品成人在线视频| 国产一区日韩一区| 欧美精品综合| 午夜一区二区三区在线观看 | 亚洲美女性视频| 欧美日韩国产一区精品一区| 一区二区国产在线观看| 国产偷国产偷亚洲高清97cao | 久久精品首页| 亚洲欧洲一区| 国产日韩欧美精品| 美日韩丰满少妇在线观看| 亚洲一区二区视频在线| 加勒比av一区二区| 欧美激情在线免费观看| 久久精品一区二区| 亚洲视频在线观看| 亚洲精品1区| 国产麻豆精品视频| 猛男gaygay欧美视频| 亚洲夜晚福利在线观看| 亚洲经典在线| 亚洲精品久久久久久下一站| 黄色在线成人| 国内综合精品午夜久久资源| 国产精品theporn| 欧美精品久久99| 欧美成人综合一区| 久久久亚洲综合| 久久久午夜电影| 久久久亚洲人| 久久这里有精品15一区二区三区| 久久爱91午夜羞羞| 性色一区二区| 欧美在线视频一区二区| 午夜天堂精品久久久久| 欧美一区二区精品久久911| 亚洲欧美日韩中文在线制服| 午夜精品视频一区| 久久久久久亚洲精品杨幂换脸 | 在线亚洲精品| 一区二区三区欧美亚洲| 亚洲一区视频| 久久久久久婷| 欧美日本网站| 国产日韩精品久久久| 永久免费毛片在线播放不卡| 91久久精品日日躁夜夜躁国产| 日韩视频在线观看| 亚洲欧美精品| 欧美日韩国产成人在线观看 | 精品动漫3d一区二区三区免费 | 欧美大片一区二区三区| 欧美午夜在线视频| 亚洲国产欧美久久| 午夜精品一区二区三区在线视| 久久夜色精品国产噜噜av| 欧美—级在线免费片| 国内成人精品2018免费看| 亚洲精品在线看| 久久久久久亚洲精品杨幂换脸| 欧美日韩国产一区二区| 精品福利电影| 久久大综合网| 欧美日韩精品免费| 亚洲欧洲午夜| 久久亚洲捆绑美女| 国产一区二区三区奇米久涩| 亚洲午夜羞羞片| 欧美黄色日本| 亚洲高清免费视频| 久久九九久久九九| 韩国女主播一区| 久久天堂精品| 亚洲三级电影全部在线观看高清| 老妇喷水一区二区三区| 在线免费高清一区二区三区|