91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET?MVC如何實現視圖尋址

發布時間:2022-03-08 14:44:08 來源:億速云 閱讀:150 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關ASP.NET MVC如何實現視圖尋址,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、為什么要使用視圖

使用視圖以后有兩個優點:

1、保證頁面內容輸出和控制器代碼的分離。和Code Behind不同,CodeBehind實現的是物理分離,視圖可以實現邏輯上的分離。

2、更方便、更直觀的輸出頁面內容的方式。頁面上面的邏輯可以很方便的借助Razor語法和HTML混合的方式完成,不像以前的WebFrom需要后端把所有的HTML整合好在進行輸出,這樣后臺和前端想結合起來很困難。

二、視圖的尋址

1、視圖尋址方法1

當使用View方法返回視圖的時候,是怎么知道要執行哪個視圖頁面呢?通常的做法就是通過視圖的方法傳遞視圖的完整路徑,或者指定視圖的名稱,指定視圖路徑很好理解!如下面的代碼所示:

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

默認情況下,啟動的時候會打開Index視圖,將代碼修改如下:

public ActionResult Index()
{
      // 指定視圖的路徑
      return View("~/Views/Home/About.cshtml");
}

運行結果:

ASP.NET?MVC如何實現視圖尋址

從運行結果中可以看出,如果指定了視圖的路徑,那么運行的時候打開的就會是指定路徑的視圖。

那么指定視圖名稱(默認代碼就是使用的指定視圖名稱的方法)的時候是如何知道視圖放在什么地方呢?難道要遍歷整個網站的路徑嗎?當然不會是這樣的,如下圖所示,它有一個尋址范圍的。

指定視圖名稱尋找視圖的步驟:

1、首先查找相應的Controller名稱對應的視圖文件夾,如果找不到,在查找Shared文件夾。

2、先查找cshtml文件。

3、這是一種約定的規則。

2、視圖尋址方法2

ASP.NET?MVC如何實現視圖尋址

三、編寫視圖

前面已經接觸了視圖的編寫,從原理上講ASP.NET針對請求的處理最終體現在對目標Action方法的執行,并就處理的結果對請求予以響應,而ActionResult為我們提供了一種響應請求的快捷方式。ASP.NET MVC定義了一系列原生的ActionResult類型,如:EmptyResult、ContentResult等,它們或者幫助我們將指定的內容按照相應的媒體類型響應給客戶端,或者回復一個指定狀態碼的響應,又或者是實現客戶端的重定向。

ViewResult是重要也是最為常用的ActionResult,我們可以利用它將指定的View呈現在客戶端的瀏覽器上。針對ViewResult的View呈現最終是利用View引擎來實現的。View引擎中的View實現了IView接口,對應著某個View文件,而核心組件ViewEngine實現針對View的獲取、激活、呈現以及最終的釋放。

View文件最終編譯生成的WebViewPage<TModel>是System.Web.Mvc.WebViewPage的子類,而后者繼承自WebPageBase。我們在定義View的時侯使用的三個幫助對象(HtmlHelper、UrlHelper和AjaxHelper)所對應的屬性就定義在這里,他們通過InitHelpers方法進行初始化。

我們在定義View的時侯可以通過只讀屬性Model、ViewData、ViewBag和TempData得到在Controller中設置的狀態數據,也可以通過調用SetViewData設置ViewData,ViewContext表示View當前上下文。如下圖所示:

ASP.NET?MVC如何實現視圖尋址

四、HTML輔助方法

下圖中列出了一些常見的HTML輔助方法:

ASP.NET?MVC如何實現視圖尋址

ASP.NET?MVC如何實現視圖尋址

關于“ASP.NET MVC如何實現視圖尋址”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浮山县| 新乡市| 阳东县| 临漳县| 黄浦区| 永嘉县| 垣曲县| 手机| 黄平县| 博罗县| 张家口市| 奇台县| 获嘉县| 梁河县| 桦甸市| 巴青县| 铁岭市| 文成县| 津市市| 德钦县| 班戈县| 天津市| 万全县| 崇礼县| 敦化市| 桓台县| 滁州市| 临沭县| 将乐县| 宁武县| 乃东县| 来安县| 稷山县| 高州市| 娄烦县| 中江县| 靖宇县| 庆城县| 全椒县| 九寨沟县| 平度市|