MVC是一种轻量级的替代方案。轻量级的,可测试性高的框架,拥有ASP.NET所有已知的特性,比如母版页、安全性和认证。
一、MVC是对Web Form的一种轻量级的替代方案
- 俩者的本质是请求Url不同,MVC是将请求交给控制器处理,而Web Form是将请求交给请求页的后台文件(.cs文件的Page_load)处理。
- MVC更方便,效率更高
二、MVC的请求流机制
- 首先获取控制器;
- 接着依赖行为控制器创建Model对象,Model通过转换调用数据访问层;
- 最后数据填充Model后,传递到View显示层,实现显示目的。
三、命名规范
- Controllers: 控制器创建的控制器必须以Controller结尾,控制器里有若干行为(方法)控制相应的页面,相应的操作;
- View: 控制器HomeController创建后,View层会自动创建对应Home文件夹,来存放相对行为的视图;
- Model:视图模型,以ViewModel结尾,例如:HomeViewModel,也叫业务模型,与数据访问层的数据模型经行交互,返回用户所需要的数据
四、如何获取页面传过来的参数值
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"]
}
五、返回视图
public ActionResult Index()
{
return View();
return View("Show")
return VIew("`/Views/Shop/ShopList")
}
六、Razor语法
- 对于Razor语法,特别的简单,就是使用@符号即可。在@后面编写C#代码即可
七、从后台设定值,并在页面显示
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
}