.NET Core 常用操作

一、获取前端提交的数据

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();
        }
    }
}
View Code

二、 

创建母版页:_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。

 四、配置文件

读取配置文件如下:

 读取配置文件连接对象

猜你喜欢

转载自www.cnblogs.com/wangjinya/p/11645259.html