在ASP.NET MVC應(yīng)用程序中,當(dāng)在URL中指定路徑時(shí),可像頁面那樣但不包含對(duì)應(yīng)的任何內(nèi)容直接顯示給用戶。 在ASP.NET MVC應(yīng)用程序中最接近頁面的東西就是視圖。
在ASP.NET MVC應(yīng)用程序中,所有傳入的瀏覽器請(qǐng)求都由控制器處理,并將這些請(qǐng)求映射到控制器操作。 控制器操作可能會(huì)返回一個(gè)視圖,或者也可能執(zhí)行一些其他類型的操作,例如重定向到另一個(gè)控制器動(dòng)作。
下面通過創(chuàng)建一個(gè)新的ASP.NET MVC項(xiàng)目,來演示如何應(yīng)用視圖的簡單例子。
打開Visual Studio,然后單擊菜單:文件 -> 新建 -> 項(xiàng)目 選項(xiàng)。創(chuàng)建一個(gè)名稱為:MVCViewDemo 的MVC項(xiàng)目。
詳細(xì)創(chuàng)建過程請(qǐng)參考:http://www.yiibai.com/asp.net_mvc/asp.net_mvc_getting_started.html

通過在解決方案資源管理器 中右鍵單擊 Controllers 文件夾來添加一個(gè)控件器:HomeController。在彈出菜單項(xiàng)中選擇:添加 -> 控制器 。
將在Controllers文件夾中看到一個(gè)新的 C# 文件 - HomeController.cs,x在Visual Studio中打開并進(jìn)行編輯。修改更新HomeController.cs文件中的代碼,其中包含兩個(gè)操作方法,如下面的代碼所示。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MVCViewDemo.Controllers {
public class HomeController : Controller{
// GET: Home
public ActionResult Index(){
return View();
}
public string Mycontroller(){
return "Hi, I am a controller";
}
}
}
運(yùn)行這個(gè)應(yīng)用程序,打開瀏覽器訪問:http://localhost:63461/Home/MyController,將收到以下輸出結(jié)果 -

由于MyController操作只是返回字符串,要從操作返回一個(gè)View,需要首先添加一個(gè)View。參考以下步驟 -
第1步: 在添加視圖之前,添加另一個(gè)操作,它將返回一個(gè)默認(rèn)視圖。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MVCViewDemo.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();
}
public string Mycontroller()
{
return "Hi, I am a controller";
}
public ActionResult MyView()
{
return View();
}
}
}
運(yùn)行這個(gè)應(yīng)用程序,并在瀏覽器的URL中添加http://localhost:63461/Home/MyView,然后按回車,將收到以下輸出。

在這里看到有一個(gè)錯(cuò)誤,這個(gè)錯(cuò)誤實(shí)際上是相當(dāng)具有描述性的,告訴我們它找不到MyView視圖。
第2步 - 要添加一個(gè)視圖,右鍵單擊MyView動(dòng)作(方法)并選擇添加視圖。如下圖所示 -
它將顯示“添加視圖” 對(duì)話框,并將添加默認(rèn)名稱。

第3步 - 取消選中“使用布局頁面”復(fù)選框,然后單擊“添加”按鈕?,F(xiàn)在新建的這個(gè)視圖內(nèi)有默認(rèn)的代碼。如下所示 -
第4步 - 使用以下代碼在此視圖中添加一些文本。
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name = "viewport" content = "width = device-width" />
<title>MyView</title>
</head>
<body>
<div>
Hi, I am a view
</div>
</body>
</html>
第5步 - 運(yùn)行該應(yīng)用程序,并將打開瀏覽器訪問URL:http://localhost:63461/Home/MyView, 將收到以下輸出。
