日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC5 高级编程 第3章 视图

發布時間:2025/5/22 asp.net 142 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET MVC5 高级编程 第3章 视图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考資料《ASP.NET MVC5 高級編程》第5版

第3章 視圖

3.1 視圖的作用

視圖的職責是向用戶提供界面。

不像基于文件的框架,ASP.NET Web Forms 和PHP ,視圖本身并不被訪問,瀏覽器,并不能直接指向一個視圖并渲染它。相反視圖被控制器渲染,因為控制器提供了渲染所需要的數據。

一般情況下,控制器需要向視圖提供一些信息,所以這會傳遞一個數據轉移對象,叫做模型。完成這一過程需要兩部分操作,其中一個是檢查由控制器提交的模型對象,另一個是將其內容轉化為HTML格式。

3.2 視圖的基礎知識

在最簡單的情況中,向控制器發送一個請求,控制器返還一個視圖。

3.3 理解視圖約定

eg1:約定可以重寫

public ActionResult Index(){return View("notIndex");}

eg2:指定完全不同目錄結構中的視圖

public ActionResult Index(){return View("~/Views/Example/Index.cshtml");}

tips

在使用這種語法時,必須提供視圖文件的文件擴展名

3.4 強類型視圖

3.4.1 ViewBag

eg1:通過重載的View 方法傳遞模型實例來指定模型

public ActionResult Index(){ var a=0;return View(a);}

告知試圖正在使用哪些類型的模型需要使用 @model 來聲明。

對于在視圖中經常使用的名稱空間,可以在Views 目錄下的Web.config 文件中聲明。

3.4.2 理解ViewBag、ViewData 和 ViewDataDictionary

從技術角度來講,數據從控制器推送到視圖實際上是使用了一個ViewData 的ViewDataDictionary。

我們可以通過標準字典語法設置或讀取其中的值

ViewData["CurrentTime"]=DateTime.Now;

ViewBag 是ViewData 的動態封裝器。它利用了dynamic 關鍵字。ViewBag.CurrentTime 等同于 ViewData["CurrentTime"]

ViewData["CurrentTime"]=DateTime.Now;

3.5 視圖模型

eg1:通過ViewBag 填充下拉列表

例一:view 層:@Html.DropDownList("ClassID")Controller 層:ViewBag.ClassID=new SelectList(cb.GetClassModels(),"ID","ClassName");例二:view 層:@Html.DropDownList("TerSystem")Controller 層:List AllFieldValue = new List();List<sys_fieldvalue> sfv = m_Dic.GetOrderByDictionarys("TerminalSystem", "", "", ref msg);if (sfv != null){for (int i = 0; i < sfv.Count(); i++){AllFieldValue.Add(new SelectListItem { Text = sfv[i].V_Text + " ", Value = sfv[i].V_Code });}}ViewBag.TerSystem = new SelectList(AllFieldValue, "Value", "Text");

3.6 添加視圖

通過視圖基架模型來構建模型和創建基架視圖。

3.7 Razor 視圖引擎

3.7.1 Razor 的概念

Razor 是默認的視圖引擎。Razor 為視圖表示提供了一種精簡的語法,最大限度的減少了語法和額外的字符。

3.7.2 代碼表達式

Razor 中的核心轉化字符是"at"符號(@)。有兩種基本類型的轉換:代碼表達式和代碼塊。

3.7.3 HTML 編碼

Razor 表達式是使用HTML 自動編碼的。

可以通過創建一個HtmlString 的實例或Html.Raw便捷方法來展示不編碼的HTML標記

當在JavaScript 中將用戶提供的值賦給變量時,要使用@Ajax.JavaScriptStringEncode 方法對用戶輸入進行編碼。

3.7.4 代碼塊

代碼塊中的語句(如foreach和if)是不需要使用花括號的

可以通過創建一個HtmlString 的實例或Html.Raw便捷方法來展示不編碼的HTML標記

3.7.5 Razor 語法示例

1,隱式代碼表達式

@model.message

2,顯式代碼表達式

@(model.message)

3,無編碼代碼表達式

html.raw

4,代碼塊

@{}

5,文本與標記相結合

@{<@(model.message)>}

6,混合代碼與純文本

@if(1>0){<@(model.message)>}

7,轉義代碼分割符

@@

8,服務器端的注釋

@*{<@(model.message)>}*@

9,調用泛型方法

3.7.6 布局

Razor 視圖有助于使應用程序中的多個視圖表示一致的外觀。

可使用布局為網站定義公共模板。公共模板包括一個或多個占位符,應用程序中的其它視圖為它提供內容。

視圖中的@RenderBody 調用表示一個占位符,用來標記這個布局的視圖將渲染它們的主要內容的位置。

視圖中可能有多個RenderSection ,默認情況下,視圖必須為布局定義的每個RenderSection 提供相應內容。@RenderSection("Footer")

RenderSection 方法有一個重載版本,允許制定不需要的節。@RenderSection("Footer",require:false)

判斷RenderSection 是否有定義:IsSectionDefined 方法

3.7.7 ViewStart

Views目錄下的_ViewStart.cshtml文件,指定了一個默認布局。代碼先于任何一個視圖運行,我們可以在它里面對共同的視圖配置進行統一設置。

3.8 指定部分視圖

不渲染布局。

3.9 小結

視圖引擎用途非常有限。它們的目的是獲取從控制器傳遞給它們的參數,并生成格式化的輸出。

轉載于:https://www.cnblogs.com/llchang/p/5370514.html

總結

以上是生活随笔為你收集整理的ASP.NET MVC5 高级编程 第3章 视图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色婷婷一区二区 | 久久综合91 | 欧美日本道 | 国产精品18久久久久久久久 | 激烈的性高湖波多野结衣 | 美女网站视频在线观看 | 91久久一区二区三区 | 欧美无砖砖区免费 | 在线欧美色| 一区二区视频网 | 九九久久99 | 色xxxxxx| 欧美黄色大片在线观看 | 91成人免费在线观看视频 | 亚洲一级影院 | 精品人妻无码一区二区三 | 91美女免费看 | 日韩美女视频在线 | 久草资源在线观看 | 一级大黄色片 | 娇小tube性极品娇小 | 亚洲风情av | 国产在线播放一区二区三区 | 天天躁日日躁狠狠躁av麻豆 | 国产精品福利在线播放 | 男人肌肌桶女人肌肌 | 大肉大捧一进一出好爽动态图 | a级黄色影院 | 1000部拍拍拍18勿入免费视频 | 亚洲精品视频在线播放 | 成人听书哪个软件好 | 999精品在线 | av观看免费 | 黄色在线免费看 | 息与子五十路翔田千里 | 麻豆视频在线观看 | 日本东京热一区二区 | 性做久久久久 | 91porny丨首页入口在线 | 色偷偷资源网 | 天堂中文网在线 | 亚洲天堂中文在线 | 国产视频入口 | 脱美女衣服亲摸揉视频 | 日本三级韩国三级美三级91 | 91久久精品一区 | jjzzjjzz欧美69巨大 | 国产激情精品 | 久久国产视频精品 | 婷婷丁香六月 | 三级黄色视屏 | 2023av在线 | 日本精品不卡 | 午夜精品久久久久久久爽 | 久草毛片 | 免费国产精品视频 | www av | 亚洲精品一二三四 | 伊人久久综合视频 | 99精品人妻少妇一区二区 | 噜噜噜久久,亚洲精品国产品 | 国产乱码一区二区三区播放 | 狠狠干夜夜操 | 啪啪的网站 | 日韩在线中文 | 一区二区三区资源 | 午夜视频免费在线观看 | 国产污视频在线 | 国产在线拍揄自揄拍 | 国产黄在线观看 | 欧美特黄 | 日韩va中文 | 国产精品二区三区 | 亚洲の无码国产の无码步美 | 国产精品自产拍在线观看 | 91极品美女| 最新av女优 | 婷婷综合在线视频 | 亚洲国产成人在线 | 国产午夜一级一片免费播放 | 葵司一区二区 | 亚洲超碰av| 青青草伊人 | 国产大学生av | 精品国产户外野外 | 国产精品呻吟 | 污网站免费 | 91免费视频大全 | 欧美精品自拍视频 | 自拍偷拍在线视频 | 操一操干一干 | 色婷婷麻豆 | 黄色一级大片在线免费看国产一 | 啪啪短视频 | 欧美成网站 | 亚洲日本成人在线观看 | 神马午夜在线观看 | 亚洲黄色成人网 | 你懂的成人 |