起飛網 ASP.NET MVC 5 學習教程目錄:
- 添加控制器
- 添加視圖
- 修改視圖和布局頁
- 控制器傳遞數據給視圖
- 添加模型
- 創建連接字符串
- 通過控制器訪問模型的數據
- 生成的代碼詳解
- 使用 SQL Server LocalDB
- Edit方法和Edit視圖詳解
- 添加查詢
- Entity Framework 數據遷移之添加字段
- 添加驗證
- Details 和 Delete 方法詳解
在本節內容中,我們將修改HelloWorldController類,使用視圖模板來干凈利索的封裝生成HTML響應客戶端的過程。
我們將使用Razor視圖引擎創建一個視圖模板文件。Razor-based 視圖模板文件以.cshtml結尾,提供一種優雅的方式使用C#創建HTML輸出。Razor可以使編寫模板文件的字符數和按鍵數降到最低,並可以快速的、流暢的編碼。
目前控制器類中的Index方法通過硬編碼返回一個字符串消息。修改Index方法使其返回一個View對象,代碼如下:
代碼清單1:Index方法 - HelloWorldController.cs
public ActionResult Index() { return View(); }
代碼清單1中的Index方法使用一個視圖模板生成HTML返回給瀏覽器,控制器方法(也叫做action methods),像Index方法一樣,通常返回一個ActionResult(或繼承自ActionResult),而不是像字符串一樣的原始類型。
首先,為HelloWorld控制器創建一個視圖文件夾。右鍵Views,單擊“添加”>“新建文件夾”:
圖1:新建文件夾菜單
將文件夾命名為 HelloWorld。
在HelloWorld文件夾右鍵,選擇“添加”>“支架”:
圖2:添加支架菜單
在新建支架對話框中,單擊MVC 5 View - Empty without model,然后點擊“添加”按鈕。
圖3:新建支架對話框
在Add View對話框中,將視圖命名為Index,保持其它項都是默認值,然后單擊“Add”按鈕。
圖4:Add View 對話框
文件MvcMovie\Views\HelloWorld\Index.cshtml 已經創建好了。
圖5:資源管理器中的Index.cshtml文件
下面顯示了被創建好的 Index.cshtml文件:
圖6:創建好的Index.cshtml文件
在<h2>標簽下面添加下面的HTML代碼:
<p>Hello from our View Template!</p>
完整的MvcMovie\Views\HelloWorld\Index.cshtml 文件代碼如下:
代碼清單2:完整的Index.cshtml 文件
@{ ViewBag.Title = "Index"; } <h2>Index</h2> <p>Hello from our View Template!</p>
在Index.cshtml上右鍵,選擇“在Page Inspector中查看”。
圖7:在Page Inspector中查看菜單
更多Page Inspector的內容可以查看Page Inspector tutorial。
另外,運行程序,瀏覽到HelloWorld控制器(http://localhost:xxxx/HelloWorld)。控制器中的Index方法並沒有做太多工作,它只是簡單的運行了語句 return View(),指定Index方法應該使用一個視圖模板文件呈現到瀏覽器的響應。因為你沒有明確指定要使用的視圖模板文件的名稱,ASP.NET MVC 默認使用\Views\HelloWorld 文件夾下的Index.cshtml文件。下面圖片中顯示的“Hello from our View Template!”硬編碼在視圖中。
圖8:瀏覽器中查看HelloWorld視圖
看起來還不錯。但是,注意瀏覽器標題欄顯示的“Index - My ASP.NET Ap”和在頁面頂部的大個兒的“Application name”鏈接。根據你窗口大小不同,你可能會看到右上角的三條杠,點擊后會看到 Home、About、Contact、Register和Log in 鏈接。








