MVC是一種輕量級的替代方案。輕量級的,可測試性高的框架,擁有ASP.NET全部已知的特性,好比母版頁、安全性和認證。
1、MVC是對Web Form的一種輕量級的替代方案
- 倆者的本質是請求Url不一樣,MVC是將請求交給控制器處理,而Web Form是將請求交給請求頁的後臺文件(.cs文件的Page_load)處理。
- MVC更方便,效率更高
2、MVC的請求流機制
- 首先獲取控制器;
- 接着依賴行爲控制器建立Model對象,Model經過轉換調用數據訪問層;
- 最後數據填充Model後,傳遞到View顯示層,實現顯示目的。
3、命名規範
- Controllers: 控制器建立的控制器必須以Controller結尾,控制器裏有若干行爲(方法)控制相應的頁面,相應的操做;
- View: 控制器HomeController建立後,View層會自動建立對應Home文件夾,來存放相對行爲的視圖;
- Model:視圖模型,以ViewModel結尾,例如:HomeViewModel,也叫業務模型,與數據訪問層的數據模型經行交互,返回用戶所須要的數據
4、如何獲取頁面傳過來的參數值
location.href ="Index?id="+id
複製代碼
public ActionResuLt Index(string id)
{
string id = Request["id"].toString();
string id = Request.QueryString["id"];
string id = Request.Files["id"].ToString();
}
複製代碼
location.href ="Index/id"
複製代碼
public ActionResuLt Index(string id)
{
string id =RoutoData.Values["id"]
}
複製代碼
5、返回視圖
public ActionResult Index()
{
return View();
return View("Show")
return VIew("`/Views/Shop/ShopList")
}
複製代碼
6、Razor語法
- 對於Razor語法,特別的簡單,就是使用@符號便可。在@後面編寫C#代碼便可
7、從後臺設定值,並在頁面顯示
public ActionResult Index()
{
ViewBag.name = "張三"
list <Users> lis = new list<Users>();
lis.Add(new Users{id=1,name="小花"});
lis.Add(new Users{id=1,name="小草"});
ViewBag.list = lis;
retrun View(lis);
}
複製代碼
HTML
@ViewBag.name
@foreach(var item in @ViewBag.list)
{
@item.id+@item.name;
}
@model IEnumerable<UI.Models.UsersModel>
@foreach (var item in Model)
{
@item.id+@item.pwd
}
複製代碼