初识 asp.net mvc(三)

今天我们来了解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]只能被登录的用户访问等

posted @ 2017-07-26 01:07  天玄剑  阅读(71)  评论(0)    收藏  举报