一、获取前端提交的数据
1. 模型绑定机制获取数据:只要后端和前端发送过来的数据对应,那么就可以被后端控制器接收到。
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using day02.Models; namespace day02.Controllers { /* asp.net asp.net mvc asp.net core mvc 模型绑定机制把获取http请求的参数(get,post)action的参数名字对应的参数进行绑定 id参数 IBindModel ModelState Views */ public class BindController : BaseController { public IActionResult Index() { return View(); } [HttpPost] public IActionResult Index(Person person) { ModelState.Remove("name"); if (!ModelState.IsValid) { return Content("数据验证不通过"); } return View(); } } }
二、
创建母版页:_Layout.cshtml
添加母版页:在需要使用的页面中加入Layout = "_Layout";
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>@ViewBag.Title</title> </head> <body> <h1>布局文件</h1> <div> @RenderBody() </div> </body> </html>
但是给每一个页面加母版页很麻烦,那么就需要创建一个起始页_ViewStart.cshtml,就是在页面启动的时候就会初始的遍历该模板,并且引用母版页
@{ Layout = "_Layout"; }
如果有的页面不想继承母版页或者想继承别的母版页怎么办呢?
@{ Layout = "_Layout"; 或者Layout = ""
}
还有一个重要的文件:文件导入模块_ViewImports.cshtml
@using day03
@using day03.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
三、过滤器
1. 授权过滤器 用于确定当前用户的请求是否合法。Authorize
- 资源过滤器 是授权之后第一个用来处理请求的过滤器,也是最后一个接触到请求的过滤器(因为之后就会离开过滤器管道)。在性能方面,资源过滤器在实现缓存或短路过滤器管道尤其有用。继承:IResourceFilter
- Action 过滤器 包装了对单个 action 方法的调用,可以将参数传递给 action 并从中获得 action result。继承:IActionFilter
- 异常过滤器 为 MVC 应用程序未处理异常应用全局策略。继承:ExceptionFilterAttribute
- 结果过滤器 包装了单个 action result 的执行,当且仅当 action 方法成功执行完毕后方才运行。它们是理想的围绕视图执行或格式处理的逻辑(所在之处)。继承:ResultFilterAttribute
- 过滤器具有三种不同级别的 作用域 。你可以在特定的 action 上用特性(Attribute)的方式使用特定的过滤器;也可以在控制器上用特性的方式使用过滤器,这样就会将效果应用在控制器内所有的 action 上;或者注册一个全局过滤器,它将作用于整个 MVC 应用程序下的每一个 action。
四、配置文件
读取配置文件如下:
读取配置文件连接对象