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
}
复制代码