ASP.NET Core MVC 网站学习笔记 魏刘宏 2020 年 2 月 17 日 最近因为” 新冠” 疫情在家办公,学习了 ASP.NET Core MVC 网站的一些知识,记录如下. 一.新建项目及基本结构 我们要新建的是 “ASP.NET Core Web 应用程序” 类型的项目: 起名之后选择 .NET Core 分类下的 “Web 应用程序 (模型视图控制器)” 模板,也就是 MVC 类型的模板,然后创建即可: 创建后结构如下图: wwwroot 存放网站的 js.css 等前端文…
此笔记来自视频教程 MVC本身与三层架构没有联系 使用VS2017新建一个默认的asp.net core mvc网站,认识结构及文件用途.…
显示:直接使用上节课的项目 一.使用vs发布应用 这里选择发布到文件夹,当然你可以选择其他的发布方式 部署模式:(我的VS里没有这个配置,不知道为啥...视频里有) 1.框架依赖:选择此模式,发布后需要单独配置服务器运行时 2.独立安装包:选择此模式,会有一个exe(win系统)文件,打开后直接就可以运行网站了,不要要再去配置运行时了. 与目标运行时搭配使用. 二.使用命令行发布应用 在地址栏直接输入cmd就可以在当前目录打开命令行了 查看目录,发布完成.这里发布的是debug版本,如果要发布r…
开发建议:永远不要相信客户端提交过来的数据!!! 前端数据验证定位:提高用户体验,仅此而已! 后端数据验证定位:保证系统安全与数据完整!!! 实例:用户登录验证 定义一个用户登录类 在用户登录类基础上创建验证规则 不合法提示信息 添加控制器LoginController 添加无布局视图 创建方法PostData 这里的逻辑结构暂时不去实现 首先实现前端数据校验 引入js验证脚本 添加验证机制 运行 查看源文件 错误的提交数据 验证生效 需要引入UserInfo的命名空间 运行 正确提交 模拟错误…
项目位置 放在其它目录应该不会执行! 默认配置 默认配置…
方法一:通过MapRoute方法,配置文件位置 小例子:如果所有路径都要在admin下,可以这样写 方法二:通过路由属性 相对路由 现在需要加/admin/home/index才能正常访问原来的默认页面 绝对路由 现在需要加/index才能正常访问原来的默认页面 路由属性添加的路由优先级高于默认配置的路由 可以配置多个默认路由,请求提交后将按从上到下的方式依次匹配 指定从路由参数获取…
第一部分:Session讲解 会话级别的,怎么区分呢?以浏览器为单位,比如IE,搜狗等等,都算一个单独的会话 修改3.5项目 控制器代码 前端显示 startup.cs中配置并启用Session 运行 跳转 第二部分:Cache讲解 应用程序级的,在应用程序运行期间,都是可以访问的 应该可以这么理解,只要Web服务器不重启,数据应该是一样的,都可以访问 依赖注入方式获取缓存 修改控制器 存取数据 前端页面不需要改动 运行查看结果 跳转 保持程序运行,切换其他浏览器直接访问取值页面,将返回形同的C…
前几节讲的都是单页面数据共享,从本节开始讲跨页面数据共享 创建项目3.5,新建控制器 代码 控制器 设置TempData 另一个视图中读取TempData数据 运行 此时如果刷新页面,页面中的内容“张三”将不再显示,因为TempData只能消费一次!…
新建项目3.4, 新建一个共享文件,一般存放在Shared目录下方 选择 如果安装了Reshaper插件可以这样添加(插件在本人博客中找) 代码 创建一个空的控制器TestController 使用布局页创建视图 默认代码 修改默认代码 运行,查看效果 注意:@renderbody一个页面只能使用一次 思考:如果出现下图情况改怎么操作呢? 解答:使用@render 修改视图页 修改模板页 运行,查看结果 思考:如果有成页面有区域一,有的没有怎么办呢? 答案:修改调用参数 模板页和视图页都可以从控…
创建项目,添加TestController 定义一个类(Model),并赋值 建立视图页面 注意:Model是一个特定的对象,取决于传递过来的参数 运行结果 到现在为止,依然没有改变动态类型,需要转换为强类型. 前端代码改造 现在引用@Model就是强类型了,就可以使用智能提示功能了. 再次改动一下前端 也可以直接绑定 显示标签的改造 需要引入命名空间:using System.ComponentModel; 前端 运行…
页面上呈现表单的两种方式 新建项目,增加Test控制器,增加Index视图 方式一:HTML构建表单 运行 方式二:HTML 运行 数据绑定 处理方法 调用结果 登录后返回值 默认值绑定 方式一: 控制器中设置默认值 前端绑定 运行 下拉列表绑定实现 控制器数据准备 前端 方式二: 前端扩展(注意参数四) 运行 查看源文件,找到参数四…
常用介绍 注意:ViewBag是对View的封装,所以如果两者键值(Key)是一样的话,后者会覆盖前者. 新建项目,添加空控制器 小技巧-快速添加视图 控制器方法,使用ViewData和ViewBag 前台页面绑定 代码 运行结果 列表的绑定测试 控制器代码 前端代码(混合C#和HTML) 运行结果…
json类型测试 方法一:实例化对象方式 代码 运行结果 方法二:封装方式 代码改动 运行结果 重点视图返回介绍,其他的不做介绍了 项目文件目录及文件添加 代码 运行结果 如果要显示的不是默认视图,可以按下面方法来做 新增测试视图Index.cshtml 文件内容 修改控制器 运行结果 其它: Task的使用情况 Task异步编程 使用原则:如果方法体里包含了IO操作,比如网络请求.文件读写.数据库操作等等…
默认的绑定顺序,如果需要取指定数据源里的数据,需要通过属性控制,比如[FromQuery] 前端 控制器方法 前端 此时并不能得到head中的数据 改造控制器方法,添加[FromHeader]属性 再次测试就可以得到Head数据了 总结…
传参方式一:使用内置方法传递 运行结果 其他获取方法 Session对象在HttpContext中 启用Session 使用Session 运行演示 传参方式二:数据绑定 普通类型(string).自定义类型(自定义类)都可以获取参数,只要参数名称一致 运行演示 补充 代码 再次运行将无法获得页面.…
方式一:以Controller结尾 方式二:不以Controller结尾 思考 默认路由规则为 运行示例(这里不需要写testcontroller,只写test就可以了) 同理测试test类中的控制器 运行效果 下一节介绍数据传递.…
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务40:介绍 1.Individual authentication 模板 2.EF Core Migration 3.Identity MVC:UI 4.Identity MVC: EF + Identity实现 5.Identity MVC:注册逻辑实现 6.Identity MVC:登录逻辑实现 7.Identity MVC:ReturnUrl实现 8.Identit…
1.安装Nuget包 - WebApiContrib.Core.Formatter.MessagePack https://www.nuget.org/packages/WebApiContrib.Core.Formatter.MessagePack/ 2.配置Startup.cs public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } publi…
话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性对token进行验证,并通过时间戳的方式统一处理接收与返回的时间格式. 请求Json格式: { "Cmd": "login", "Token": "", "PageNo": 0, "OnePageNu…
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 抓住国庆假期的尾巴完成了此系列课程的学习笔记输出! ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记 ASP.NET Core快速入门(第2章:配置管理)--学习笔记 ASP.NET Core快速入门(第3章:依赖注入)--学习笔记 ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记 ASP.NET Core快速入…
ASP.NET Core MVC 控制器可以使用视图返回格式化的结果. 1.什么是视图 在 MVC 中,视图封装了用户与应用交互呈现细节.视图是具有生成要发送到客户端内容的,包含嵌入代码的HTML模板.视图使用使用 Razor 语法,该语法允许以最少的代码或复杂度与 HTML 进行交互. ASP.NET Core MVC 视图默认以 .cshtml 文件保存在应用程序的 Views 文件夹里面.通常,每个控制器都有自己的文件夹,其中包含对应控制器操作方法的视图. 除了对应操作的视图,局部视图,布…
终于要将数据呈现到 ASP.NET Core MVC 中的 视图 上了 将数据从控制器传递到视图的三种方法 在 ASP.NET Core MVC 中,有 3 种方法可以将数据从控制器传递到视图: 使用 ViewData 使用 ViewBag 使用强类型模型对象.这也称为强类型视图. 通过使用ViewData或ViewBag传递数据,我们会创建一个弱类型的视图.我们待会儿讨论弱类型视图的含义. 使用 ViewData 将数据从 Controller 传递到视图 我们希望将HomeControlle…
最近公司布置任务,用asp.net core mvc和angular改写原来的一个用Silverlight做的项目.从来没搞过,找了两本书看了一天,又看了一天代码,大致心里有底了,就开始动手.没想到一上来就碰到了头痛的问题. 首先是第一次调试后,修改了typescript,却不会自动编译.花了不少功夫才明白,原来不要用缺省的IISExpress,另外建了个调试profile,关键是类型设为Project,这下就方便了.F5调试后,随时修改template或者typescript,马上就自动重新编…
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)分部视图简介 ASP.NET Core MVC (Razor)分部视图基础教程 ASP.NET Core MVC (Razor)强类型分部视图教程 2.本教程环境信息 软件/环境 说明 操作系统 Windows 10 SDK 2.1.401 ASP.NET Core 2.1.3 IDE Visual Studio Code 1.30 浏览器 Chrome 70 本篇代码以下代码进行调整:https://github.c…
asp.net Core MVC 有特别处理form,controller可以自己处理model的验证,最大的优势是写form时可以少写代码 先了解tag helper ,这东西就是element上的attribute,在angular来说就是指令,通过指令可以很好的写代码 cshtml @model Project.Web.Home.Product <form class="myForm" asp-controller="Home" asp-action=&…
webpack 是一个打包工具,用在asp.net Core MVC 会觉得有必要吗? MVC 本身就有bundler~ 如果用过webpack就会知道,打包出来的效果结果就是不一样,MVC的打包就是把所有的代码放在一起,而且一个项目就只可以有一个打包,那里够用? 打包主要目的减少多页面应用反问服务器的次数,以前一个页面可以访问服务器多打20多个(不包括图片),现在css + script 就只有4个,通过缓存,其他页面就只有2个访问.webpack 还对css 和 script 有hash 管…
一.前言 1.本教程主要内容 ASP.NET Core MVC (Razor)视图母版页教程 ASP.NET Core MVC (Razor)带有Section的视图母版页教程 ASP.NET Core MVC (Razor)视图全局代码(_ViewStart.cshtml)教程 2.本教程环境信息 软件/环境 说明 操作系统 Windows 10 SDK 2.1.401 ASP.NET Core 2.1.3 IDE Visual Studio Code 1.28 浏览器 Chrome 70 本…
摘抄自:https://www.cnblogs.com/ken-io/p/aspnet-core-tutorial-mvc-view-renderdata.html 如有侵权请告知 一.前言 1.本教程主要内容 ASP.NET Core MVC 视图引擎(Razor)简介 ASP.NET Core MVC 视图(Razor)ViewData使用示例 ASP.NET Core MVC 视图(Razor)ViewBag使用示例 ASP.NET Core NVC 视图(Razor)强类型传值(View…
摘抄自https://www.cnblogs.com/ken-io/p/aspnet-core-tutorial-mvc-controller-action.html 一.前言 1.本教程主要内容 ASP.NET Core MVC控制器简介 ASP.NET Core MVC控制器操作简介 ASP.NET Core MVC控制器操作简介返回类型简介 ASP.NET Core MVC控制器操作简介返回类型示例 ASP.NET Core MVC控制器参数映射逻辑说明 ASP.NET Core MVC控…
敲了一部分,懒得全部敲完,直接复制大佬的博客了,如有侵权,请通知我尽快删除修改 摘抄自https://www.cnblogs.com/ken-io/p/aspnet-core-tutorial-mvc-route.html 一.前言 1.本文主要内容 ASP.NET Core MVC路由工作原理概述 ASP.NET Core MVC带路径参数的路由示例 ASP.NET Core MVC固定前/后缀的路由示例 ASP.NET Core MVC正则表达式匹配路由示例 ASP.NET Core MVC…