ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 05.Controller 的路由
视频地址:
https://www.bilibili.com/video/av38392956/?p=5
这里面就包含了MVC相关的库
可以通过打开右侧的Nuget库进行查看
这里修改下 ,只需要静态文件就可以了
加入mvc的中间件,先使用USeMvcWithDefaultRoute()这里面加了一些默认路由的配置
直接运行页面,提示报错,无法找到所需的服务
注册下mvc的服务
这样就能运行起来。mvc的服务不是手动添加好的,需要自己添加一下
新建Controllers文件夹,然后在下面新建Controller
我们这里从一个类开始,起名叫做HomeController
4分开始
运行居然返回了 信息。访问跟路径是走到了HomeController里面
所以说使用这个方法就被配置一些默认的路由规则
比如说访问根路径,就会找到HomeController里面的Index方法
按照约定路由
属性标签路由
这就叫做按照约定式配置路由
这里换成UseMVC()。这个方法没有配置默认的路由
并没有走HomeController
在里面配置路由
接收一个参数Action<IrouteBuilder>
在这个莱姆达表达式里就可以配置路由了
可以使用这个builder,这个builder的类型是IRouteBuilder
使用MapRoute配置路由,当然还有很多Map开头的方法
定义参数,这个参数需要用大括号括起来,意思就是告诉框架,url里面的第一部分就是controller的名字
第二个部分是Action
通常都带一个参数,例如这里带个参数id,这个id是可选的,所以在id后面加一个问号
再次运行,输入Home/Index 就看到我们写的返回的字符串数据
设置默认的Controller
之前使用的是UseMvcDefaultRoute可以默认执行Home/index的方法,我们进去看下它的源码是怎么设置的
这里给Controller和action加了默认值
我们直接复制过来,也加上默认值,如果Controller和Action没有就调用默认的值
再次运行可以看到结果了
光输入Controller为home同样可以打开 地址
完整的路径 也没问题
再添加一个类AboutController
里面定义两个方法
然后运行页面
About/me
属性标签式路由
Route属性可以放到Action级别也可以放到Controller的界别
比如说想通过访问/About访问到Me这个action
这么配置的路径就是/About/me
想直接访问到About就能访问me的方法 就留空
运行抛出异常
有多个Action匹配这个路由
再次运行,输入about顺利找到me这个方法
中括号+Controller代表就代表About(也就是这个Controller的名字)
测试下
改名了那么他对应路径也改名了。
输入改名后的Contact才能找到
针对Action,
中括号+Action
这样就使用每个方法名作为他的路径
简写的方式提到最上面
加版本参数
在前面加上V2
路径前面必须带V2才能正常访问
通常mvc选择第一种方式
webapi选择第二种属性标签的配置方式
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 05.Controller 的路由的更多相关文章
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道 语雀: https://www.yuque.com/yuejiangliu/dotnet/ ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 25. 过滤器
在MVC的请求管道 并不是 asp.net core的请求管道.所以说Filter是专用于MVC的 贯穿特性,横穿关注点.比如授权.日志 这里的Authorize其实就是一个Filter,主要用来授 ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 02. Web Host 的默认配置
视频地址: https://www.bilibili.com/video/av38392956/?p=2 语雀 https://www.yuque.com/yuejiangliu/dotnet/ixt ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 12. Views 下
ASP.NET Core MVC 13. 安装前端库 Partial VIew 就是部分View,他没有自己的数据,数据来自图中白色的那块,它的数据需要传进去,第一个参数是View的名称,第二个参数就 ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 04. 中间件
注册startup类可以配置我们web应用的启动逻辑,使用的就是UseStartUp方法,asp.net core就会实例化这个类 并调用startup类里面的两个方法ConfigureService ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 13. 安装前端库
前端库使用npm进行安装,需要先建立webpack.json文件 因为我们没有使用npm安装任何库,所以npm的文件夹是空的 这里是用于开发时构建时引用的库写在这里 这里用到bootStrap 开发时 ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 27. CICD Azure DevOps
VSTS做持续集成 后来改名叫做Azure Deveps https://azure.microsoft.com/zh-cn/services/devops/ 这是中文的地址 创建一个项目 名称.描述 ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 01. 创建项目 +项目结构和配置简介
新建项目:Tutotial.Web 解决方案名称可以把web去掉 视频里面把git这个选项勾选了.我就不勾选了 dotnet CLI创建项目 首先必须安装好了.net Core的SDK dotnet ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 06. Controller 返回View
Controller父类会提供很多上下文的相关信息,还提供了很多封装的方法 返回的对象要求实现了IActionResult接口 继承父类,并引入命名空间 写this点就出现很多东西,这些就是上下文的信 ...
随机推荐
- 数据库系统学习(九)-嵌入式SQL语言之基本技巧
第九讲 嵌入式SQL语言之基本技巧 901 什么是嵌入式SQL语言 交互式SQL语言的局限性 嵌入式SQL语言 交互式和嵌入式语言的对比 高级语言中使用嵌入式语言需要解决的问题 902 程序与数据库连 ...
- SSH login without password
SSH login without password Your aim You want to use Linux and OpenSSH to automize your tasks. Theref ...
- IE浏览器打不开解决的方法
windows 7和windows 8上的IE浏览器打不开.非常可能是权限问题,解决的方法: 点击"開始"-"执行",输入"regedit" ...
- Servlet的部署开发细节以及注意事项
学习servlet最困难的我感觉还是配置,一開始是非常麻烦的.为了较好的学习,一開始还是以手动开发我认为比較好,可是真的有点把握给搞晕了,尤其是部署servlet方面非常麻烦,这里做一下简单的总结,前 ...
- HDU 1085 Holding Bin-Laden Captive!(母函数,或者找规律)
Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...
- uva 10806 Dijkstra, Dijkstra. (最小费最大流)
uva 10806 Dijkstra, Dijkstra. 题目大意:你和你的伙伴想要越狱.你的伙伴先去探路,等你的伙伴到火车站后,他会打电话给你(电话是藏在蛋糕里带进来的),然后你就能够跑去火车站了 ...
- return和exit
return从当前函数返回而exit结束正在运行的程序 示例: [wangml@iZwz976helaylvgqok97prZ testForC]$ ./exit.test q [wangml@iZw ...
- PandoraBox 支持3G无线上网卡(联通卡3G卡)(一)
一:笔者采用的是系统是OpenWrt之PandoraBox,内核版本3.3.8:硬件设备是MTK的7620开发板. 其中怎么搭建openwrt开发环境在此不用多说,因为既然想实现3G无线上网卡拨号上网 ...
- 2017ACM/ICPC广西邀请赛 K- Query on A Tree trie树合并
Query on A Tree Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Othe ...
- MyCAT简单入门配置
MyCAT简单入门配置 安装jdk 建议1.7以上 安装mysql 安装MyCAT Mycat 源码:https://github.com/MyCATApache/Mycat-Server Mycat ...