这篇博客真是干货,干得估计还有点“磕牙”,所以还提供视频和代码。但基础稍弱的同学,怕还是得自行补充一些基础知识——就一篇文章,确实没办法面面俱到。
- 视频和代码下载:Demo - 百度云盘 · 一起帮
- 参考原文:Automatic ModelState validation in ASP.NET MVC(英文强,基础好的同学可以直接看原文了)。
缘起
我忘了是不是在园子里讲过,我命名为“截断式编程”的写法。其主要目的,就是把简单的、过滤条件、“非主干的”逻辑放在最前面。比如在ASP.NET MVC的Action中,处理POST时,我们通常都要进行服务端验证,于是我们就可以这样写:
[HttpPost] public ActionResult Send(MessageSendModel model) { #region 非截断式写法 //if (ModelState.IsValid) //{ // //假设发送了一个消息 // Response.Write("消息已经发送"); //} //return View(model); #endregion #region 截断式编程 //过滤条件 if (!ModelState.IsValid) { return View(model); } //主干程序:假设发送了一个消息 Response.Write("消息已经发送"); return RedirectToAction("Send"); #endregion }