ASP.NET Core MVC中的路由(路由模板、属性路由)

瑞萨RA6M5 USBHS寄存器深度解析:PIPEMAXP、PIPEnCTR与DEVADDn配置实战 USB通信是嵌入式系统与外部设备交互的核心技术之一,其稳定性和效率直接影响系统性能。理解USB协议栈底层原理,尤其是硬件寄存器的运作机制,是开发者从应用层深入驱动层的关键。USB控制器通过寄存器将复杂的协议状态机固化在硬件中,软件通过配置寄存器参数来控制数据传输的细节,如包大小、设备寻址和传输状态。这种硬件抽象既提升了通信效率,也要求开发者精确掌握寄存器间的状态依赖与配置时序。在嵌入式开发中,针对特定微控制器(如瑞萨RA6M5)的USBHS模块进行寄存器级编程,能够实现对USB通信的精细控制,从而优化带宽利 阅读详情

目录

一、常规路由模板设置及EndpointRouting(终结点路由)

1、默认路由模板:app.UseMvcWithDefaultRoute();

 2、常规路由模板设置及EndpointRouting(终结点路由)

二、使用属性路由(在实际使用它们的操作方法上方设置路由)

三、(番外):ASP.NET Core MVC中libman


Startup.cs文件中Configure()方法的代码设置HTTP请求处理管道。

一、常规路由模板设置及EndpointRouting(终结点路由)

1、默认路由模板:app.UseMvcWithDefaultRoute();

        默认路由模板规则是这样的:{controller=Home}/{action = Index}/{id?}

        其中{id?}中的?表示此参数是可选的(非必填)。

 2、常规路由模板设置及EndpointRouting(终结点路由)

推荐使用功能更丰富的UseEndpoints()中间件路由。

//1、启用默认路由
app.UseStaticFiles();
app.UseRouting();  
app.UseMvcWithDefaultRoute();
            


//2、自定义路由模板
app.UseStaticFiles();
app.UseRouting();
app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

//3、使用UseEndpoints自定义路由模板 
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");

            });

二、使用属性路由(在实际使用它们的操作方法上方设置路由)

在Controller类中加这个:       

[Route("")]
[Route("Home")]
[Route("Home/Index")]

//这三个地址都是可以访问到 Index() 的

public ViewResult Index() 
        {
             return View();
        }

●  还有一点要说一下:控制器和操作方法名称不会影响 属性路由名称。也主就是说在controller类中像下面中这样写也是可以的,大不了用http://localhost:12345/abc/def访问。

        [Route("abc/def")]

        public ActionResult Details(int?id)
        {       
           return View();
        }

●  另有一点再说一下:属性路由支持多层,像下面这样

        [Route("")]
        [Route("Home")]
        [Route("Home/Index")]
        public ViewResult Index() 
        {
            return View();
        }


        [Route("Home/Details")]
        public ActionResult Details()
        {
           return View();
        }

●  精简写法:把“Home”拉出来:

[Route("Home")]     
public class HomeController : Controller 
{  

        [Route("/")]     //这个很重要,它让http://localhost:12345可以访问
        [Route("")]      //让让http://localhost:12345/home可以访问
        [Route("Index")] //让http://localhost:12345/home/index可以访问
        public ViewResult Index() 
        {
            return View();
        }


        [Route("Details")]  //让http://localhost:12345/home/details可以访问
        public ActionResult Details()
        {
           return View();
        }
}

●  再进一步:通过将标记放在方括号中来支持标记替换。标记[controller]和[action]将替换为定义路径的控制器名称和操作名称的值

[Route("[controller]")]      //标记替换为:控制器名称
public class HomeController : Controller 
{  

        [Route("/")]     
        [Route("")]      
        [Route("Index")] 
        public ViewResult Index() 
        {
            return View();
        }


        [Route("[action]")]     //标记替换为:操作名称
        public ActionResult Details()
        {
           return View();
        }
}

一个小插曲:

        因为一个写在控制类外面的属性路由没有删掉,从昨天到今天所有的路由规则一直无法生效,都快被搞死了。TMD,截图留念。但得到的知识是:属性路由的优先级高。

三、(番外):ASP.NET Core MVC中libman

 libman.json是库管理器清单文件,简化的内容如下

{
  "version": "1.0",                                     //当前的libman文件版本
  "defaultProvider": "cdnjs",                           //默认从哪个CDN网络下载文件
  "libraries": [
    { 
      "library": "twitter-bootstrap@5.1.3",             //要下载的前端包名称
      "destination": "wwwroot/lib/twitter-bootstrap/"   //存放库的文件路径地址
    }
  ]
}

ASP.NET Core 入门教程 3、ASP.NET Core MVC路由入门 一、前言 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 RouteAttribute绑定式路由使用介绍 2、本教程环... 阅读详情

相关推荐

ASP.NET Core MVC 路由详解

方法中的注册顺序来确定的。因此,如果有多个路由规则匹配同一个 URL,那么将使用第一个匹配成功的规则。除了将传入的 URL 映射到控制器和动作方法外,ASP.NET Core MVC 还提供了路由生成的功能,可以根据路由规则生成 URL。上述代码中,我们定义了一个名为 “product” 的路由规则,它匹配以 “/products/” 开头的 URL,并将匹配的部分作为。上述代码中,我们定义了一个名为 “product” 的路由规则,它匹配以 “/products/” 开头的 URL,并将匹配的部分作为。

YOLOv222的博客 272

ASP.NET Core 路由

我们可以使用路由为应用程序创建URL模板,这些路由模板匹配进入的请求并且分发这些请求到应用程序的终结点,终结点负责处理这些请求,在ASP.NET Core MVC中大多数的终结点是Controllers路由主要完成下面工作:1 匹配进入的URL到Controllers和Actions2 根据定义的路由生成URL链接在ASP.NET Core 中支持两种类型的路由:1 基于契约路由 –在Progr...

dotNET跨平台 980

YOLOv11改进 | Conv/卷积篇 | 利用Hype-YOLO提出MANet增强YOLOv11特征提取能力

本文给大家带来的最新改进机制是由Hype-YOLO提出的MANet结构,其是一种C3、C2f、C3k2的升级版,用于增强特征提取能力。MANet可以理解为C2f的升级版,其整合了DSConv和C2f结构,这些模块的组合使得信息流动更加丰富,有助于在训练过程中提高梯度流动,从而增加基础特征的语义深度。官方发布的数据中HypeYOLO的精度是高于YOLOv11的,本文内容包含MAnet替换C3k2的教程以及原理介绍。欢迎大家订阅我的专栏一起学习YOLO,购买专栏读者联系读者入群获取进阶项目文件!

Snu77的博客 2024

ASP.NET Core中的路由

ASP.NET Core中的路由简介

yunxiaobaobei的博客 2371

ASP.NET Core 基础知识】--路由和请求处理--路由概念(一)

路由是Web应用中的一个关键概念,它负责将用户发起的HTTP请求映射到相应的处理程序,通常是控制器中的动作方法。在ASP.NET Core等框架中,路由系统会根据请求的URL和路由规则,确定执行哪个控制器的哪个动作方法来处理请求。路由的作用:路由的主要作用是将传入的HTTP请求映射到应用程序中的特定处理程序。这使得应用程序能够根据用户请求的不同部分执行不同的逻辑。路由负责解析URL,提取其中的信息以确定请求的性质。这可能包括控制器、动作方法以及其他参数。

喵叔 1751

Asp.net Core + EF Core + Bootstrap搭建的MVC后台通用管理系统模板(跨平台版本)

6月随着.NET CORE PREVIEW2的发布,JUCHEAP 的CORE版本也由之前的JuCheap Core 1.0升级到了JuCheap Core 2.0,并且已经在将core版本应用到了生产环境中,现在支持的数据库库有SQL SERVER 2008以上,以及SQLITE; 项目源代码地址,在文末. 部署到ubuntu16.04下的效果如下: 源码下载地址:h...

JuCheap 4万+

asp.net core 系列 5 MVC框架路由()

. 概述   介绍asp.net core路由时,我初步想了下,分几篇来说明。 路由的知识点很多,参考了官方文档提取出一些重要的知识点来说。 在ASP.NET Core中是使用路由中间件来匹配传入请求的 URL 并将它们映射到操作(action方法)路由是在程序启动时进行传统路由属性路由定义。路由描述如何将 URL 路径与操作相匹配。它还用于在响应中生成送出的 URL(用于链接...

weixin_33739627的博客 399

ASP.NET Core 8端点路由优先级深度解析(90%开发者忽略的关键细节)

掌握ASP.NET Core 8的端点路由优先级,解决路由冲突难题。详解MapGet、MapControllerRoute等顺序规则,揭示策略匹配与自定义排序的核心机制,提升API响应准确性。适用微服务与复杂路由场景,值得收藏。

LogicWander的博客 1067

浅浅理解.net core路由

默认路由模板,大多数的URL都会按照这个规则进行映射。问号表示 id 参数可有可无。 如果要定义自己的路径模板,要使用 UseMvc()方法,而不是 UseMvcWithDefaultRoute()方法。 属性路由: 使用属性路由,可以在Controller或 Controller 的操作方法上应用Route属性。在Startp.cs文件Configure方法中,我们只使用app.UseMvc();然后在Controller的Action方法上通过特性Route来配置。 在实际项目中运用到

hyyjiushiliangxing的博客 1894

ASP.NET Core MVC中的路由

文章目录ASP.NET Core MVC中的路由ASP.NET Core MVC中的默认路由UseMvcWithDefaultRoute()方法中的代码了解默认路由ASP.NET Core MVC中的属性路由属性路由示例属性路由参数属性路由可选参数控制器和操作方法名称属性路由支持多层在属性路由中自定义路由常规路由属性路由对比ASP.NET Core 中新增的路由中间件路由中间件UseRouting路由中间件UseEndpoints ASP.NET Core MVC中的路由ASP.NET Core

断点_C的博客 1558

.Net Core 项目区域请求设置

.net coreasp.net MVC区域请求有个区别,这里重点记录一下 asp.net MVC 区域请求直接是/区域名称/控制名称/方法名称,其他不需要设置任何东西,而Core 项目这样请求路径没有错, 只是需要另外设置以下内容,否则,请求404。 区域结构如下: 1、需要定义区域名称 using Microsoft.AspNetCore.Mvc; namespa...

weixin_34318326的博客 465

ASP.NET Core 8高级进阶指南】:3步实现端点路由优先级精确控制

掌握ASP.NET Core 8端点路由优先级控制难题,三步实现精准路由匹配。适用于API版本控制、自定义路由顺序等场景,通过约定、属性路由与代码配置提升灵活性和可维护性,值得收藏。

Instrulink的博客 271

(8)ASP.NET Core2.2 中的MVC路由

/第一个路由//第二个路由}");});第一个路由里{*article}是表示使用catch-all路由参数来捕获URL路径的剩余部分。下面我们通过测试来验证下:通过上述测试可以知道,加星号的路由在传参字符串中加了斜杠依然能够打开,没加星号的路由在传参字符串中加了斜杠就不能打开了。还有一点要注意的是controller.action接收参数必须跟*后面参数名称一致,不然会接收不到参数值。

wzk153的博客 783

(8)ASP.NET Core 中的MVC路由

1.前言 ASP.NET Core MVC使用路由中间件来匹配传入请求的URL并将它们映射到操作(Action方法)。路由在启动代码(Startup.Configure方法)或属性(Controller Action属性)中定义。路由描述应如何将URL路径与操作(Action方法)相匹配。它还用于在响应中生成送出的URL。路由操作可以设置中间件,支持传统路由属性理由(通过在Controller...

weixin_30646315的博客 271

Asp.Net Core由零开始(六)———Routing路由

路由具体可分为以下两种 1.Convention-based(按约定) 首先,ASP.NET Core 中间件需要一个方法来确定给定的 HTTP 请求是否应该发送给控制器进行处理,我们将这个过程称之为路由匹配 MVC 中间件将根据我们提供的 URL 和一些配置信息做出此决定 本章中,我们将定义这些配置信息,或者当我们添加 MVC 中间件时,可以在 Startup.cs 中说明路由信息 这种方法通常...

qq_42108132的博客 533

asp.net core 系列 6 MVC框架路由()

asp.net core 系列 6 MVC框架路由() 原文:asp.net core 系列 6 MVC框架路由().URL 生成   接着上篇讲MVC路由MVC 应用程序可以使用路由的 URL 生成功能,生成指向操作的 URL 链接。生成 URL 可消除硬编码 URL,使代码更稳定、更易维护。此部分重点介绍 MVC 提供的 U...

weixin_30394633的博客 137

ASP.NET Core基础知识()路由

路由负责将请求 URI 映射到终结点选择器并向终结点调度传入的请求。 路由在应用中定义,并在应用启动时进行配置。 路由可以选择从请求包含的 URL 中提取值,然后这些值便可用于处理请求。 通过使用应用中的路由信息,路由还能生成映射到终结点选择器的 URL。 要在 ASP.NET Core 2.2 中使用最新路由方案,请在 Startup.ConfigureServices 中为 MVC 服务注册指...

极客神殿 4749

转载.net core web api 路由设定

原文链接:https://www.cnblogs.com/zhan520g/p/10303225.html 详解ASP.NET Core API 的Get和Post请求使用方式 上一篇文章帮助大家解决问题不彻底导致博友使用的时候还是遇到一些问题,欢迎一起讨论。所以下面重点详细讲解我们常用的Get和Post请求(.net co...

weixin_30814223的博客 277

asp.net core 区域路由

Areas 提供了一种把大型 ASP.NET Core MVC Web 应用程序分为较小的功能分组的方法,用到了区域那区域路由就必不可少,下面简单实现区域路由的两种方式 1此方式必须给控制器加上区域属性,也就是路由会自动匹配所有添加路由属性的controller 1 //路由 2 routes.MapRoute(name: "areaRoute", 3 ...

weixin_34111790的博客 135

GStreamer Plugin之Gst-nvdewarper

支持三种投影类型 NVDS_META_SURFACE_FISH_PUSHBROOM, NVDS_META_SURFACE_FISH_VERTCYL 和NVDS_META_SURFACE_PERSPECTIVE_PERSPECTIVE。关于每个平面的NvDewarperSurfaceMeta参数(projection_type, surface_index, and source_id)以及内存中有效的矫正平面(num_filled_surfaces)包含RGBA格式的一帧的缓存。矫正后的RGBA格式。

pvmsmfchcs的博客 329

【王者荣耀查询小程序源码】最新云开发微信小程序王者查询源码带流量主.zip

【王者荣耀战力查询源码】最新云开发微信小程序王者查询源码 带流量主无需服务器、无需域名、注册一个小程序即可。

上一篇: ASP.NET Core MVC框架部分内容
下一篇: ASP.NET Core MVC中 TagHelper
ppp17
博客等级 码龄9年 21粉丝 · 69原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值