這篇文章給大家分享的是有關ASP.NET MVC--視圖的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
洪山網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)建站。理解視圖
ASP.NET MVC與ASP.NET或者動態(tài)服務器頁(ASP)不同,它并沒有任何直接對應于一個頁面的東西。在ASP.NET MVC應用程序中,磁盤上并沒有一個頁面來對應你在瀏覽器地址欄中輸入的URL路徑。在ASP.NET MVC應用程序中,最接近頁面的東西是稱為視圖(View)的東西。
在ASP.NET MVC應用程序中,即將到達的瀏覽器請求被映射到了控制器動作。一個控制器動作可能會返回一個視圖。然而,一個控制器動作可能執(zhí)行某種類型的操作,例如將你重定向到另一個控制器動作。
代碼清單1含有一個簡單的控制器,叫做HomeController.HomeController暴露出了兩個控制器動作,叫做指數(shù)()和詳細信息()。
代碼清單1 - HomeController.cs 使用系統(tǒng); 使用 System.Collections.Generic; 使用 System.Linq; 使用 System.Web; 使用 System.Web.Mvc; 命名空間 MvcApp.Controllers{ [HandleError] public class HomeController:Controller { public ActionResult Index() { return View(); } public ActionResult Details() { return RedirectToAction( “Index”); } }}
你可以通過在瀏覽器的地址欄輸入下面的URL,調(diào)用第一個動作,指數(shù)()動作:
/首頁/索引
你可以通過在瀏覽器中輸入這個地址,來調(diào)用第二個動作,細節(jié)()動作:
/主頁/細節(jié)
指數(shù)()動作返回一個視圖。你所創(chuàng)建的大多數(shù)動作都將返回一個視圖,然而,動作可以返回任何類型的動作結(jié)果。例如,詳細信息()動作返回了一個RedirectToActionResult,它可以將即將到達的請求重定向到指數(shù)()動作。
指數(shù)()動作包含了下面一行代碼:
return View();
這行的代碼返回了一個視圖,該視圖在服務器上的路徑必須和下面的路徑一樣:
\查看\首頁\的Index.aspx
視圖的路徑由控制器和控制器動作的名稱推斷得出。
如果你愿意,可以顯式地指明視圖下面一行代碼返回了一個視圖,名為“弗雷德”:
返回視圖(“Fred”);
當執(zhí)行這行代碼時,將會從下面的路徑返回一個視圖:
\查看\首頁\ Fred.aspx
2.創(chuàng)建一個視圖
你可以在解決方案瀏覽器中的文件夾上點擊右鍵,并選擇菜單項“Add(添加)”,“新建項目”(如圖1)。選擇“MVC View Page”模板將標準視圖添加到你的項目中。
應該意識到你不能像ASP.NET或者ASP應用程序中那樣,隨意向項目中添加視圖。你必須將視圖添加到文件夾中,并且該文件夾的名稱與控制器的名稱相同(不含控制器后綴)舉個例子,如果你想創(chuàng)建一個新的,叫做索引的視圖,該視圖可以由名為ProductController的的控制器返回,那么你必須添加這個視圖到項目的如下文件夾中:
\查看\產(chǎn)品\ Index.aspx的
含有視圖的文件夾的名稱必須與返回該視圖的控制器的名稱相對應。
3.向視圖中添加內(nèi)容
一個視圖是一個標準的,可以包含腳本的(X)HTML文檔。你使用腳本來向視圖中添加動態(tài)內(nèi)容。
舉個例子,代碼清單2中的視圖顯示了當前的日期和時間。
代碼清單2 - \ Views \ Home \ Index.aspx
<%@ Page Language =“C?!盇utoEventWireup =“true”CodeBehind =“Index.aspx.cs”Inherits =“MvcApp.Views.Home.Index”%> <!DOCTYPE html PUBLIC“ - // W3C // DTD XHTML 1.0 Transitional // EN“”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“> <頭RUNAT = “服務器”>索引 TITLE> HEAD> 的當前日期和時間是: <%回復于(DateTime.Now);%> DIV> body> html>注意到代碼清單2中的HTML頁面的身體中含有下面的腳本:
<%Response.Write(DateTime.Now);%>使用腳本分隔符<%和%>來標記腳本的開始和結(jié)束。這個腳本使用C#編寫。它顯示了當前的日期和時間,通過調(diào)用回復于()方法將內(nèi)容呈現(xiàn)到了瀏覽器中腳本。分隔符<%和%>可以用于執(zhí)行一條或者多條語句。
因為經(jīng)常會調(diào)用回復于()方法,微軟為你提供了一種調(diào)用回復于()的簡單途徑。代碼清單3中的視圖使用<%=和%>作為調(diào)用回復于()方法的簡單途徑。
代碼清單3 - Views \ Home \ Index2.aspx
<%@ Page Language =“C?!盇utoEventWireup =“true”CodeBehind =“Index2.aspx.cs”Inherits =“MvcApp.Views.Home.Index2”%> <!DOCTYPE html PUBLIC“ - // W3C // DTD XHTML 1.0 Transitional // EN“”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“> <頭RUNAT = “服務器”>索引2 TITLE> HEAD> 的當前日期和時間是: <%= DateTime.Now%> DIV> BODY> < / HTML>你可以使用任何的.NET語言在視圖中生成動態(tài)內(nèi)容,可以使用Visual Basic.Net或者C#來編寫你的控制器和視圖。
4.使用HTML Helpers來生成視圖內(nèi)容
為了使向視圖中添加內(nèi)容更加容易一些,你可以利用叫做HTML Helper的東西.HTML Helper是一個生成字符串的方法。你可以使用HTML幫助者來生成標準的HTML元素,例如文本框,鏈接,下拉框和列表框。
舉個例子,代碼清單4中的視圖利用了兩個HTML Helpers,TextBox()和Password(),用于生成一個登錄窗體(見圖2)。
代碼清單4 - \ Views \ Home \ Index3.aspx
<%@ Page Language =“C?!盇utoEventWireup =“true”CodeBehind =“Index3.aspx.cs”Inherits =“MvcApp.Views.Home.Index3”%> <!DOCTYPE html PUBLIC“ - // W3C // DTD XHTML 1.0 Transitional // EN“”http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>登錄表單 title> head>
其他資訊