今天我们来了解mvc的几个概念:惯例优先、路由、模型绑定、操作过滤器
1.惯例优先:首先,申明叫惯例优先,就是一般都是这样处理的,
例如:控制器就放在Controllers文件夹下、模型就放在Models文件夹下、视图就放在Views文件夹下、控制器都以Controller最为结尾等
2.路由:
在程序启动的时候注册路由,使用的扩展方法是MapRoute(),位于APP_Start/RouteConfig.cs文件里
routes.MapRoute(
name: "Default", //路由名字 url: "{action}/{controller}/{id}",//Url参数 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }//默认参数 );3.模型绑定
[HttpPost]
public ActionResult Edit(Stock model) { if (model.Id == 0) { model.AttentionRate = model.AttentionRate>0?model.AttentionRate:3;model.FollowTime = DateTime.Now;
model.CreateTime = DateTime.Now; model.CreateUser = 0; TJModels db = new TJModels(); db.Stocks.Add(model); db.SaveChanges(); } return View("Index", model); }这段代码中,mvc会自动查找model对应的参数,讲参数名与字段名一致的参数值赋给实体对应的字段
4.操作过滤器
[HttpPost]
public ActionResult Edit(Stock model){ if (model.Id == 0){ model.AttentionRate = model.AttentionRate>0?model.AttentionRate:3;model.FollowTime = DateTime.Now;
model.CreateTime = DateTime.Now;model.CreateUser = 0;TJModels db = new TJModels();db.Stocks.Add(model);db.SaveChanges();}return View("Index", model);}[HttpPost]就是过滤器,过滤此操作只能被post请求访问,还有[Authorize]只能被登录的用户访问等