亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ASP.NET MVC視圖尋址

 更新時間:2022年03月08日 11:44:52   作者:.NET開發(fā)菜鳥  
這篇文章介紹了ASP.NET MVC視圖尋址的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、為什么要使用視圖

使用視圖以后有兩個優(yōu)點:

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

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

二、視圖的尋址

1、視圖尋址方法1

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

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

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

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

運行結(jié)果:

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

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

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

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

2、先查找cshtml文件。

3、這是一種約定的規(guī)則。

2、視圖尋址方法2

三、編寫視圖

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

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

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

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

四、HTML輔助方法

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

 到此這篇關(guān)于ASP.NET MVC視圖尋址的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論