.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(); } } }
二、
创建母版页:_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。
四、配置文件
读取配置文件如下:
读取配置文件连接对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构