《深入浅出ASP.NET Core》读书笔记(二)
作者:互联网
2月19日学习记录:
NotImplementedException() : 没有实现时抛出异常
Model: 包含一组数据的类和管理该数据的逻辑信息
Repository: 负责逻辑和保存数据库,仓储模式
Interface: 接口在这里主要负责依赖注入,实现低耦合
services.AddMvc(config => config.EnableEndpointRouting = false); 注册MVC服务,核心方法是AddMvcCore,可参考asp.net core源代码
EnableEndpointRouting: 禁用EndPointRouting,使用MVC自带路由
app.UseMvcWithDefultRoute(); 写在Configure里面,MVC默认路由中间件,默认路由会查找HomeController
services.AddControllersWithViews:只需要加载Views、RazorViewEngine、CacheTagHelper模块,参考源码AddControllersWithViewsCore
JsonResult: 要求返回为Json格式数据, Header设置 Accept: Application/json,改成 Application/xml返回数据为空!
ObjectResult: 遵循内容协商返回数据类型,如果需要返回xml数据则需要注册 AddXmlSerializerFormatters()
View(): 返回视图,默认查找与Action同名的视图,如果需要自定义视图【View("aaa"),会去查找aaa.cshtml】,MVC默认查找视图路径Views/Home/,自定义路径视图[View("MyViews/aaa.cshtml")],使用绝对路径需要加.cshtml文件后缀,绝对路径最好用 / 或者 ~/ 开头, 重载方法 View(Object), View(viewName, Obejct)
ViewData、ViewBag传递数据,会创建一个弱类型视图
ViewData: 弱类型的字典(dictionary)对象,默认使用String存储数据,其他数据需要显示转换。动态解析,不做编译时检查。
Controller代码:强类型视图,View(object)。视图定义时使用 @model,访问时使用 @Model
ViewModel: 视图模型,其实就是整合一下需要传到View的数据,单独创建一个Model,以便一次性通过View(model)强类型视图传递
Section: 布局页中的节点, @RenderSection("Scripts", required: false) ;required检查是否必须,true为必须包含Scripts节点; 或者使用 IsSectionDefined() 方法
_ViewStart.cshtml: 启动视图,在Views目录下,可以把Layout引用配置在这里,不需要每页添加,可以在子目录创建,将覆盖根目录的ViewStart文件配置
_ViewImports.cshtml: 可用于导入公共命名空间,不必每个视图重复导入,支持指令列表 [@using, @addTagHelper, @removeTagHelper, @tagHelperPrefix, @model, @inherits, @inject]
标签:ASP,读书笔记,视图,MVC,默认,cshtml,NET,数据,View 来源: https://www.cnblogs.com/iumer/p/14456932.html