在本節中,您需要修改HelloWorldController類,從而使用視圖模板檔案,乾淨優雅的封裝產生返回到用戶端瀏覽器HTML的過程。
您將建立一個視圖模板檔案,其中使用了ASP.NET MVC 3所引入的Razor視圖引擎。Razor視圖模板檔案使用.cshtml副檔名,並提供了一個優雅的方式來使用C#語言建立所要輸出的HTML。用Razor編寫一個視圖模板檔案時,將所需的字元和鍵盤敲擊數量降到了最低,並實現了快速,流暢的編碼工作流程。
當前在控制器類中的Index方法返回了一個硬式編碼字串。更改Index方法返回一個View對象,如下面的範例程式碼:
public ActionResult Index() { return View(); }
上面的Index方法使用一個視圖模板來產生一個HTML返回給瀏覽器。控制器的方法(也被稱為action method(操作方法) ),如上面的Index方法,一般返回一個ActionResult(或從ActionResult所繼承的類型),而不是原始的類型,如字串。
在該項目中,您可以使用的Index方法來添加一個視圖模板。要做到這一點,在Index方法中單擊滑鼠右鍵,然後單擊“ 添加視圖“。
出現添加視圖對話方塊。保留預設值,並單擊添加按鈕:
您可以在方案總管中看到MvcMovie\HelloWorld檔案夾和已被建立的MvcMovie\View\HelloWorld\Index.cshtml檔案:
下圖顯示了已被建立的Index.cshtml檔案:
在<h2>標籤後面添加以下HTML。
複製代碼 代碼如下:
<p>Hello from our View Template!</p>
完整的MvcMovie\HelloWorld\Index.cshtml檔案如下所示。
複製代碼 代碼如下:
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>Hello from our View Template!</p>
註:如果您使用的是Internet Explorer 9,您將看不到在上面用黃色高亮標記的<p>Hello from our View Template!</p>,單擊“相容性檢視”按鈕, 在IE瀏覽器中,表徵圖會從變為純色的表徵圖。另外,您也可以在Firefox或Chrome查看本教程。
如果您正在使用Visual Studio 2012,在方案總管中,按右鍵Index.cshtml檔案,並選擇“ 在頁面檢查器中查看“。