回顧前面說過的,View是從Controller獲得Model的數據,MVC用Model表示業務數據。MVC從控制器傳遞多個Model到視圖,可以通過ViewData,ViewBag,PartialView, TempData, ViewModel,Tuple等。ViewData相當於數據字典,包含Controller和View之間傳遞的所有數據,Controller會在該字典中添加新的數據項,View從字典中讀取數據並顯示給用戶。
1、創建Model類
在Model文件夾下創建Teacher類,首先觀察Model文件夾下的內容以.cs結尾,好說了即C#程序:
public class Teacher
{
public string TeacherName { get; set; }
public int TeacherId { get; set; }
public int TeacherAge { get; set; }
}
2、在Controller中按照前幾節說過的方法創建一個控制器,用來獲取Teacher對象
public ActionResult GetTeacherView()
{
Teacher t = new Teacher();
t.TeacherName = "譚浩強";
t.TeacherId = 1001;
t.TeacherAge = 60;
ViewData["Teacher"] = t;
return View();
}
其中:ViewData["Teacher"] = t; return View(); 用ViewData建立一個Teacher類型的數據字典,並返回。
3、在View中顯示該數據
同樣根據前面的學習在View下面創建Teacher的子目錄
在div區域添加如下代碼:
@{
Mvc_一.Models.Teacher t = (Mvc_一.Models.Teacher)ViewData["Teacher"];
}
<b>Teacher Details</b><br />
Teacher Name:@t.TeacherName<br />
Teacher Id:@t.TeacherId<br />
Teacher Age:@t.TeacherAge<br />
4、運行結果如下:
A | explian:
1、在 Mvc_一.Models.Teacher t = (Mvc_一.Models.Teacher)ViewData["Teacher"];時候強制轉換類型,是因爲,ViewData可以操作內部對象,每次添加新值,都會被封裝成對象的類型,即封裝成Teacher的對象,每次獲取裏面的內容則需要提取。
2、在TeacherController中定義了Teacher的對象並賦值屬於硬編碼,但一般情況下,是從數據庫或者Web服務器獲取的。
3、三層架構中有數據訪問層,在ASP.NET MVC中卻不包含數據訪問層,但它其實是隱式存在的,MVC中不包含數據訪問層的定義。
完整的MVC結構:
轉載請標明出處 http://blog.csdn.net/jasonhds/ 版權所有,翻版必究~謝謝合作!