首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让ASP.NET MVC匹配路由末尾的点(".")字符?

在ASP.NET MVC中,路由规则默认是不匹配末尾的点字符(".")的。这是因为点字符在URL中被视为文件扩展名的一部分。然而,有时候我们可能需要让ASP.NET MVC匹配末尾的点字符。下面是一种方法来实现这个需求:

  1. 打开应用程序的RouteConfig.cs文件,该文件通常位于App_Start文件夹中。
  2. RegisterRoutes方法中,找到默认的路由规则,通常是以下代码:
代码语言:csharp
复制
routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
  1. 在这个路由规则之前,添加以下代码:
代码语言:csharp
复制
routes.AppendTrailingSlash = false;
routes.AppendTrailingSlash = true;

这样做的目的是告诉ASP.NET MVC在匹配路由时考虑末尾的点字符。

  1. 保存文件并重新运行应用程序。

现在,ASP.NET MVC将会匹配末尾的点字符,并将其作为URL的一部分进行路由处理。

请注意,这种方法可能会导致一些潜在的问题,因为点字符在URL中通常用于表示文件扩展名。因此,在使用这种方法时,需要谨慎处理URL的设计和处理,以避免潜在的安全风险和冲突。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云负载均衡(CLB)。

  • 腾讯云服务器(CVM):提供可扩展的云服务器实例,适用于各种规模的应用程序和工作负载。了解更多信息,请访问腾讯云服务器(CVM)
  • 腾讯云负载均衡(CLB):通过将流量分发到多个后端服务器,提高应用程序的可用性和性能。了解更多信息,请访问腾讯云负载均衡(CLB)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

快速入门系列--MVC--02路由

现在补上URL路由的学习,至于蒋老师自建的MVC小引擎和相关案例就放在论文提交后再实践咯。...通过ASP.NET的路由系统,可以完成请求URL与物理文件的分离,其优点是:灵活性、可读性、SEO优化。...接下来通过一个最简单的路由例子进入这部分的学习,这是一个蒋老师提供的WebForm路由的例子,回想起刚做ASP.NET时,每次看到.aspx页面的前台代码时的茫然和无措,茫茫多的标签,属性,数据源的绑定吓死小兄弟俺了...UrlRoutingModule实现了IHttpModule,通过注册HttpApplication的PostResolveRequestCache事件对请求进行拦截,并利用路由表与请求URL进行模式匹配得到相应的路由数据...因为它们一定会简化现有的ASP.NET管道,让XXXing,XXXed离我们远一点吧。

86390
  • 通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现:路由整合

    《200行代码,7个对象——让你了解ASP.NET Core框架的本质》让很多读者对ASP.NET Core管道有了真实的了解。...三、Action的执行 执行Action方法 服务注册 四、在模拟框架构建一个MVC应用 整个MVC框架建立在路由中间件(《ASP.NET Core 3框架揭秘》下册具有对路由中间件的专门介绍...对于一组给定的路由终结点来说,有可能存在多个终结点的路由模式都与某个请求匹配,所以代表路由终结点的RouteEndpoint类型定义了一个Order属性,该属性值越小,代表选择优先级越高。...具体来说,当路由解析成功并执行匹配终结点的请求处理器时,针对目标Action的上下文对象会被创建出来,一个IActionInvokerFactory对象会被用来创建执行目标Action的IActionInvoker...“由简入繁、循序渐进” 的方式讲述ControllerActionInvoker对象是如何执行Action的。

    1.2K30

    Asp.net MVC 之 Contorllers(二)

    路由请求 向IIS发出请求的时候,究竟发生了什么呢? 下图给出了在 ASP.NET MVC 和 ASP.NET Web Forms 应用程序中涉及相关的各个步骤如何工作的总体图。 ?...如果匹配到,请求将转到 ASP.NET MVC 的领地,再调用一个控制器类进行处理。如果没有匹配到,请求将被标准的 ASP.NET 运行时以最合适的方式处理,很可能的结果就是返回一个404。...HTTP 模块匹配到用户定义的 URL 路由请求的 URL,并将 HTTP 上下文设置为使用 ASP.NET MVC 标准的 HTTP 处理程序来处理该请求。...URL模式和路由 路由是URL绝对路径样式匹配的字符串,也就是一个没有协议、服务和端口信息的URL字符串。路由可能是一个字符串常量,但很可能还包含一些占位符。...最终决定如何重新映射所请求的 URL 完全是另一个组件。这就本段的主角路由处理程序。路由处理程序是处理匹配给定路由任何请求的对象。

    1.9K60

    ASP.NET MVC 5 - 控制器

    本系列教程,我们将覆盖所有这些概念,并告诉您如何在ASP.NET MVC 5中使用它们来构建应用程序。 首先,让我们创建一个控制器类。...在上面的方法中,代码直接返回了一个字符串。你告诉系统只返回一些HTML,系统确实这样做了! ? ASP.NET MVC会调用不同的控制器类(和其内部不同的操作方法)这取决于传入URL。...这次URL第三部分的参数匹配了参数ID。...相反,我们通常会使用一个单独的视图模板文件来帮助生成返回的HTML。让我们来看看下面我们如何能做到这一点吧。 控制器是MVC中的重要组成部分,有了本节知识的学习,相信大家会更加深入地理解MVC。...ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB 7. ASP.NET MVC 5 - 从控制器访问数据模型 8.

    2.6K80

    ASP.NET Core端点路由 作用原理

    端点路由(Endpoint Routing)最早出现在ASP.NET Core2.2,在ASP.NET Core3.0提升为一等公民。 ?...Endpoint Routing的动机 在端点路由出现之前,我们一般在请求处理管道的末尾,定义MVC中间件解析路由。这种方式意味着在处理管道中,MVC中间件之前的中间件将无法获得路由信息。...Endpoint Routing中间件 由一对中间件组成: UseRouting 将路由匹配添加到中间件管道。该中间件查看应用程序中定义的端点集合,并根据请求选择最佳匹配。...结论 端点路由:允许ASP.NET Core应用程序在中间件管道的早期确定要调度的端点, 以便后续中间件可以使用该信息来提供当前管道配置无法提供的功能。...这使ASP.NET Core框架更加灵活,强化端点概念,它使路由匹配、解析功能与端点调度功能脱钩。

    1.2K10

    ASP.NET MVC学习笔记02控制器和路由

    ASP.NET MVC会调用不同的控制器类(和其内部不同的操作方法)这取决于传入URL。 所使用的ASP.NET MVC的默认URL路由逻辑使用这样的格式来判定哪些代码以便调用。...---- 路由 这里就提到了一个很重要的概念,路由(URL Routing),什么是路由,在ASP.NET MVC中,一个URL请求是由对应的一个Controller中的Action来处理的,由URL...Routing来告诉MVC如何定位到正确的Controller和Action。...参数的自动装配 再修改一下welcome方法,将num改为id,输入url时,把id写在开头,用“?”分割,传入name。 ? ASP.NET MVC的路由自动匹配了ID这个参数,为什么呢?...看看上图中的 ASP.NET默认路由表,url: "{controller}/{action}/{id}",这一行已经添加了id这个参数,因此ASP.NET MVC会自动为我们匹配ID参数。

    1.5K40

    ASP.NET MVC是如何运行的: 建立在“伪”MVC框架上的Web应用

    通过上面对ASP.NET管道设计的介绍,我们知道ASP.NET的扩展点只要体现在HttpMoudle和HttpHandler这两个核心组建之上,实际上整个ASP.NET MVC框架就是通过自定义的HttpMoudle...值得一提的是,为了让读者根据该实例从真正的ASP.NET MVC中找到对应的组件,我完全采用了与ASP.NET MVC一致的类型命名方式。...为了 让定义在HomeController中的Action方法Index来处理针对该Web应用的访问请求,我们需要指定与之匹配的地址(符合定义在注册地址模板的URL模式)。...ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller...的激活 ASP.NET MVC是如何运行的[4]: Action的执行

    1.3K60

    通过一个模拟程序让你明白ASP.NET MVC是如何运行的

    ASP.NET MVC的路由系统通过对HTTP请求的解析得到表示Controller、Action和其他相关的数据,并以此为依据激活Controller对象,调用相应的Action方法,并将方法返回的ActionResult...为了更好的演示其实现原理,我创建一个简单的ASP.NET Web应用来模拟ASP.NET MVC的路由机制。...[源代码从这里下载] 目录: 一、一个通过查询字符串表示Controller和Action的“MVC”程序 二、通过Route解析HTTP请求获得路由信息 三、...接下来我简单的介绍一下是哪些组建促使这个简单的ASP.NET Web应用能够按照MVC的模式来执行。为了使你能够在真正的ASP.NET MVC找到匹配的组件,我们采用了相同的接口和类型名称。...在ASP.NET MVC中,真正的请求处理体现在根据路由信息创建Controller,并执行相应的Action方法。这两个步骤体现的ProcessRequest方法中。

    1.1K60

    ASP.NET MVC Controller激活系统详解:总体设计

    在正式讨论Controller对象具体是如何被创建爱之前,我们先来看看Controller激活系统在ASP.NET MVC中的总体设计,了解一下组成该子系统的一些基本的组件,以及它们对应的接口或者抽象类是什么...实例演示:如何提升命名空间的优先级 为了让读者对此如何提升命名空间优先级具有一个深刻的印象,我们来进行一个简单的实例演示。...由于具有多个Controller与注册的路由规则相匹配导致ASP.NET MVC的Controller激活系统无法确定目标哪个类型的Controller应该被选用,所以会出现如下图所示的错误。...[关于ASP.NET MVC路由,在我的文章《ASP.NET MVC路由扩展:路由映射》中具有详细的介绍] 在解析Controller真实类型的过程中,会先通过RouteData包含的命名空间来解析Controller...四、Controller的激活与URL路由 ASP.NET路由系统是HTTP请求抵达服务端的第一道屏障,它根据注册的路由规则对拦截的请求进行匹配并解析包含目标Controller和Action名称的路由信息

    1.7K60

    ASP.NET MVC5高级编程 ——(5)路由

    这章呢,我们开始讲ASP.NET MVC5中的路由机制,在这之前,先提一下URL(Uniform Resource Locator)-- 统一资源定位符。...构造传出的URL,用来响应控制器操作。 ASP.NET MVC5中有:特性路由和传统路由。 ASP.NET MVC5中的路由机制图解: ?...传入路由特性的字符串叫做路由模版,他就是一个模式匹配规则,决定了这个路由是否是用于传入的请求。如果匹配,MVC就运行路由的操作方法。...因为传入的参数存在二义性,1也可以解释为字符串,因此需要添加int约束。路由约束是一种条件,只有满足该条件时,路由才能匹配。这种约束叫做内联约束。 内联路由约束为控制路由何时匹配提供了精细的控制。...要查看这个URL请求与哪个URL模式相匹配,然后用这个模式对应的路由对这个URL请求进行处理; URL匹配: URL可以被分成除主机名(域名)和查询字符串以外的。

    2.1K40

    Blazor 中的路由和路由模板

    通过 ASP.NET MVC,只要请求的 URL 无法映射到物理服务器文件,路由组件就会启动。...此外,正如在 ASP.NET MVC 中发生的那样,解析 URL 时,表中的路由将从最具体到最不具体进行评估,并且搜索在首次匹配时停止。...例如,在 ASP.NET Core 中,开发人员可以通过以编程方式将路由添加到表中来显式定义路由,让系统使用默认路由约定或使用控制器方法上的属性来确定候选项。...类型匹配是参数路由和自动绑定到变量的常见问题。如果 URL 的段包含文本字符串,但绑定变量声明类型为 int,会发生什么情况?...如果需要确保在应有参数的位置仅指定给定类型的值,则应选择路由约束。 如果熟悉任何风格的 ASP.NET MVC,那么路由约束并不是什么新鲜事。

    8.4K21

    ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

    那么,它是根据什么规则来指路的呢?我们可以在App_Start文件夹中的RouteConfig类中找到这个神奇的规则是如何制定的。...这里,对于路由规则需要注意的有两点:   (1)可以有多条路由规则;   (2)路由规则是有顺序的(前面的规则被匹配后,后面的规则就不再匹配);   我们可以在RegisterRoutes这个方法中添加一条自定义路由规则...(1)首先,我们知道:可以有多条路由规则,但是路由规则是有顺序的(前面的规则被匹配后,后面的规则就不再匹配);所以,我们可以定义多条路由规则,粒度细的模块(比如:具体的酒店列表页面)路由规则放最前面,粒度粗的模块...3.5 URL路由调试   在ASP.Net MVC中,默认是不允许对路由规则进行调试的。但是,我们可以通过使用RouteDebug来辅助进行调试。   ...参考资料   (1)马伦,《ASP.Net MVC视频教程》,http://bbs.itcast.cn/thread-26722-1-1.html   (2)葡萄城控件技术团队,《ASP.NET MVC

    1.8K30

    Asp.net MVC 之 Contorllers(一)

    该版本是向前兼容的,也就是说,一台电脑中可以同时安装新老版本,新版本运行不会影响现存MVC版本代码。 路由请求     最初,ASP.NET平台的开发主要是围绕着服务器端物理页面请求的思想。...在ASP.NET应用程序中使用的大多数的URL是由两部分组成:包含逻辑的物理网页的路径,和一些填充在查询字符串中的作为参数的数据。这种方式已经使用了有些年了,现在仍在被使用。...这只是ASP.NET MVC不同于ASP.NET Web Forms众多不同中的一个方面。接下来我们看看如何通过使用一个HTTP处理程序来模拟ASP.NET MVC行为。...这个简单的实例说明了如何使用ASP.NET MVC最基本的机制。控制器(Controller)是一个为请求提供服务的专门的组件。控制器(Controller)是一个只有方法没有状态的类。...此外,一个新的系统组件在运行时管道中截取的请求、 处理 URL,并触发的 ASP.NET MVC HTTP 处理程序。此组件是 URL 路由的 HTTP 模块。关于URL路由模块,下次再译。

    1.1K70

    ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    默认的路由 (在App_Start\RouteConfig.cs 中设定) 使用的 URL 匹配模式为: {controller}/{action}/{id}。...追加一个查询字符串,URL如 ?searchString=ghost。筛选的影片会被显示。 ? 如果你改变了Index方法签名参数名为id的,这个id参数将匹配{ id }的占位符。...如果你改变Index方法来测试如何通过路由绑定ID参数的签名,Index方法需要一个字符串参数searchString: public ActionResult Index(string searchString...ASP.NET MVC 5 - 开始MVC 5之旅 2. ASP.NET MVC 5 - 控制器 3. ASP.NET MVC 5 - 视图 4. ...ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB 7. ASP.NET MVC 5 - 从控制器访问数据模型 8.

    6.7K110

    ASP.NET Core MVC 概述

    在 MVC 模式中,控制器是初始入口点,负责选择要使用的模型类型和要呈现的视图(因此得名 - 它控制应用如何响应给定请求)。 备注 控制器不应由于责任过多而变得过于复杂。...Core MVC 建立在 ASP.NET Core 的路由之上,是一个功能强大的 URL 映射组件,可用于生成具有易于理解和可搜索 URL 的应用程序。...它可让你定义适用于搜索引擎优化 (SEO) 和链接生成的应用程序 URL 命名模式,而不考虑如何组织 Web 服务器上的文件。可以使用支持路由值约束、默认值和可选值的方便路由模板语法来定义路由。...接收传入请求时,路由引擎分析 URL 并将其匹配到定义的 URL 格式之一,然后调用关联的控制器操作方法。...Core MVC 模型绑定将客户端请求数据(窗体值、路由数据、查询字符串参数、HTTP 头)转换到控制器可以处理的对象中。

    6.4K20

    ServiceStack.Host.MVC vs ASP.NET MVC

    ServiceStack.Host.MVC vs ASP.NET MVC解决方案解决方案子项ServiceStack.Host.MVC(3.9.71)ASP.NET MVC(3.0)路由 路由规则1.只能配置.../home/{name}/{page}形式 2.不能对匹配区域({name})指定任何形式的通配符(正则,等等)1.可配置各种形式的规则,比如:home/{name}_{page} 2.可以对匹配区域(...{name})指定正则匹配路由匹配url->路由表->RequestDTO->根据request.method匹配到相应的service.Method 1.RequestDTO与Service强绑定,一个...service必须有RequestDTO作为入口 2.不支持根据路由生成urlurl->路由表->Controller->根据request.method&actionName匹配到相应的Action...1.一个路由规则可以根据参数的不同配到任意的Controlle.Action入口不受限制 2.支持根据路由生成url路由参数映射1.从路由映射到RequestDTO1.从路由映射到Action参数(参数个数灵活

    89720

    .NETASP.NET MVC Controller 控制器(深入解析控制器运行原理)

    的继承体系) 4.ASP.NETMVC IController Factory 控制器工厂(Controller的创建) 1】开篇介绍 经过前一篇文章.NET/ASP.NET Routing路由(深入解析路由系统架构原理...) 的讲解,我们对ASP.NETRouting路由系统的整个运行机制有了一个基本的了解;当我们能清楚的知道Url是如何被解析成RouteData对象时,下面就是这些路由数据是如何被后面的应用框架所使用的...}/{Action}等的占位符变量;所以这个时候Controller的概念对我们来说还只是一个字符串而已,而到了目前的这个Controller控制器解析的位置其实已经和路由基本没关系了,因为我们穿过了路由模块到达了...View的展现收集数据到Controller的调度执行Model会容易完成,但是ASP.NETMVC是建立在ASP.NET WEB背景之下的MVC模式框架,所以这个时候对Controller的激活会变的相当麻烦...);而控制器的执行必须需要RouteData中的有关Controller数据对象,也就是从请求Url中通过模式匹配出来的{Controller}部分的字符串; ControllerBase定义了Controller

    1.2K60
    领券