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

如何使用MVC MapRoute来匹配一个没有关于路径的文件扩展名?

MVC MapRoute是ASP.NET MVC框架中的一个路由配置方法,用于将URL映射到相应的控制器和操作方法。在使用MVC MapRoute匹配没有关于路径的文件扩展名时,可以按照以下步骤进行配置:

  1. 打开项目中的RouteConfig.cs文件,该文件通常位于App_Start文件夹下。
  2. 在RegisterRoutes方法中添加一个新的路由配置,可以使用MapRoute方法来定义路由规则。
代码语言:txt
复制
routes.MapRoute(
    name: "Extensionless",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    constraints: new { id = @"\d+" }
);

在上述代码中,我们定义了一个名为"Extensionless"的路由,该路由匹配的URL格式为"{controller}/{action}/{id}",其中id参数是可选的。这样配置的路由可以匹配没有关于路径的文件扩展名的URL。

  1. 在上述代码中,我们还添加了一个约束(constraints),用于限制id参数只能是数字。这是为了避免该路由与其他可能存在的路由冲突。

关于MVC MapRoute的配置,可以参考腾讯云的产品文档中的相关内容:MVC MapRoute配置

需要注意的是,以上答案中没有提及具体的云计算品牌商,如腾讯云、阿里云等,根据问题要求,直接给出了答案内容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

在IIS上部署ASPNETMVC Beta网站

个人觉得唯一比较有意思是在配置IIS时,我们可以配置各种自定义ISAPI扩展名(也在MVC应用配置,通常在Global.asax中) 第一步:安装MVC。...点击“Configuration”按钮 4、 选择“Mappings”选项卡 5、 点击“Insert”按钮,如下图所云汉 6、 在Executeable文本框中输入aspnet_isapi.dll文件所在路径...如果直接把asp.net mvc 部署在iis5上,会出现无法显示页面的情况,原因可能是路径映射没有起作用。...扩展名为:.mvc 动作可选全部也可设定为:GET,HEAD,POST,DEBUG 同时必须选中脚本引擎且不能选择检查文件是否存在选项,确定大功搞成,浏览站点,如果首页仍然不能正常显示,请修改Default.aspx.cs...注:asp.net mvc 使用是预览3版本 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

2.1K20

七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL

如何使用文件上传控件 2. 异步控制器 1....必须手动设置自定义数据属性,因为并没有将Htmlhelper 方法设置为文件输入。 客户端验证可编写JavaScript 代码,通过点击按钮实现。...在这种情况下,我们就必须指定一个点来结束请求,当有新请求进入状态时,没有worker 线程可使用,这种现象称为线程饥饿。...运行 会在C盘中创建“Error”文件夹,存放一些error文件关于实验30 当异常出现后,Error View 是如何返回响应?...已定义路径会在请求周期中确定执行是正确控制器和action 方法。如果使用 route.MapRoute创建了多个路径,那么内部路径定义就意味着创建Route对象。

3.9K100

ASP.NET MVC路由扩展:路由映射

ASP.NET路由系统旨在通过注册URL模板与物理文件之间映射进而实现请求地址与文件路径之间分离,但是对于ASP.NET MVC应用来说,请求目标不再是一个具体物理文件,而是定义在某个Controller...路由注册与具体物理文件无关,所以MapRoute方法中并没有一个表示文件路径physicalFile参数。...在调用MapRoute方法时候我们可以通过字符串数组类型参数namespaces指定一个命名空间列表。对于注册命名空间,可以指定一个代表完整命名空间字符串,也可以使用“*”作为通配符。...二、 实例演示:注册路由映射与查看路由信息 ASP.NET MVC通过定义在RouteCollectionExtensions中扩展方法MapRoute进行路由映射,为了让读者对此有一个深刻认识,我们进行一个简单实例演示...我们依然沿用之前关于获取天气信息场景,看看通过这种方式进行注册Route对象针对匹配HTTP请求返回怎样RouteData对象。

1.3K100

Asp.net MVC 之 Contorllers(二)

我们责任是提供应用程序支持路由,以及路由模块实际使用路由。 应用程序路由 按照设计,ASP.NET MVC 应用程序并没有依赖于物理页面。...可以使用 ASP.NET MVC 应用程序中 REST 方式,ASP.NET MVC 面向他是松耦合,ASP.NET MVC 承认他概念,如资源和行为,我们可以随意使用自己语法表达和实现资源和行动行为...URL模式和路由 路由是URL绝对路径样式匹配字符串,也就是一个没有协议、服务和端口信息URL字符串。路由可能是一个字符串常量,但很可能还包含一些占位符。...通常我们使用 MapRoute 方法填充这个集合。MapRoute 方法有很多重载方法,大部分时候他们都是行之有效。然而,他不会让我们配置路由对象每一个可以配置方面。...框架并没有提供很多内置路由处理程序,而这可能是一个需要使用自定义并非公用路由处理程序签名。

1.9K60

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、本教程环境信息...当应用接收到请求时,会在路由管道(路由中间件)中执行路由匹配,并将请求交给对应控制器去处理。 另外,需要特别注意是,路由匹配顺序是按照我们定义顺序从上之下匹配,遵循是的先配置先生效原则。...路由匹配通过后,需要根据这两个参数将当前请求交由对应Controller+Action去处理。所以,这两个参数缺少任何一个,都会导致路由无法正常工作。...固定前后缀可以根据自己需求结合起来使用

1.1K30

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、本教程环境信息...当应用接收到请求时,会在路由管道(路由中间件)中执行路由匹配,并将请求交给对应控制器去处理。 另外,需要特别注意是,路由匹配顺序是按照我们定义顺序从上之下匹配,遵循是的先配置先生效原则。...路由匹配通过后,需要根据这两个参数将当前请求交由对应Controller+Action去处理。所以,这两个参数缺少任何一个,都会导致路由无法正常工作。...固定前后缀可以根据自己需求结合起来使用

1.5K30

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

由此我们引出了路由主要用途: 匹配传入请求(该请求不匹配服务器文件系统中文件),并把这些请求映射到控制器操作。...2 :在应用程序Global.asax文件中包含一个路由表,路由表在Application Start事件期间创建,当一个MVC应用程序首次运行时,会调用Application_Start()方法,这个方法随后调用...传入路由特性字符串叫做路由模版,他就是一个模式匹配规则,决定了这个路由是否是用于传入请求。如果匹配MVC就运行路由操作方法。...如果URL看上去相似,但是具有不同行为,就可以使用路有约束表达这些URL之间区别,并把它们映射到正确操作。 1.5 路由默认值 ?...此时,该默认情况就允许路由匹配没有action参数请求。也就是现在既可以匹配具有一个URL,也可以匹配具有两个段URL。

1.9K40

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

在正式讨论Controller对象具体是如何被创建爱之前,我们先来看看Controller激活系统在ASP.NET MVC总体设计,了解一下组成该子系统一些基本组件,以及它们对应接口或者抽象类是什么...实例演示:如何提升命名空间优先级 为了让读者对此如何提升命名空间优先级具有一个深刻印象,我们进行一个简单实例演示。...我们使用Visual Studio提供项目模板创建一个ASP.NET MVC应用,并且使用如下所示默认路由注册代码。....cs 文件,并在该文件中定义两个同名Controller类。...[关于ASP.NET MVC路由,在我文章《ASP.NET MVC路由扩展:路由映射》中具有详细介绍] 在解析Controller真实类型过程中,会先通过RouteData包含命名空间解析Controller

1.7K60

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

1.2 Razor语法   (1)Razor文件类型:Razor支持两种文件类型,分别是.cshtml 和.vbhtml,其中.cshtml 服务器代码使用了c#语法,.vbhtml 服务器代码使用了...那么,它是根据什么规则指路呢?我们可以在App_Start文件夹中RouteConfig类中找到这个神奇规则是如何制定。...在ASP.Net MVC网站默认实例中使用是三个参数MapRoute方法: routes.MapRoute( name: "Default", url: "{controller...(2)其次,根据模块粒度划分层次结构,以粒度粗细排序为:网站首页->频道首页->具体内容;   (3)最后,我们可以看一个具体URL路由实例分析一下: // 酒店列表页匹配 routes.MapRoute...3.5 URL路由调试   在ASP.Net MVC中,默认是不允许对路由规则进行调试。但是,我们可以通过使用RouteDebug辅助进行调试。

1.8K30

ASP.NET MVC 5 - 控制器

基于MVC模式应用程序包含: · Models: 表示该应用程序数据并使用验证逻辑强制实施业务规则数据类。 · Views: 应用程序动态生成 HTML所使用模板文件。...本系列教程,我们将覆盖所有这些概念,并告诉您如何在ASP.NET MVC 5中使用它们构建应用程序。 首先,让我们创建一个控制器类。...请注意,在解决方案资源管理器中会创建一个名为HelloWorldController.cs文件一个文件夹Views\HelloWorld。该文件会被IDE默认打开。 ?...请注意,我们只需要浏览 /HelloWorld路径,默认情况下会调用Index方法。如果没有明确指定操作方法,Index方法会默认被控制器类调用。...相反,我们通常会使用一个单独视图模板文件帮助生成返回HTML。让我们来看看下面我们如何能做到这一点吧。 控制器是MVC重要组成部分,有了本节知识学习,相信大家会更加深入地理解MVC

2.6K80

ASP.Net请求处理机制初步探索之旅 - Part 3 管道

他们之间主要差别在于: 如果你想要注入逻辑是基于像'.aspx','.html'这样扩展文件,那么你可以使用HttpHandler。换句话说,HttpHandler是一个基于处理器扩展。...ASP.NET默认实现了针对WebForm和MVCHttpModule,像ASP.NET MVC中默认使用是UrlRoutingModule。...④自定义处理逻辑 我们可以通过一个示例程序代码展示以上介绍那些事件是怎样被最终触发。...对于每个请求,ASP.NET会通过扩展名选择匹配相应HttpHandler类型,成功匹配后,该实现被触发。...因为当我们在HttpApplication一个管道事件,使用MapRoute()方法注册路由时候,已经通过Route类构造函数把MvcRouteHandler注入到路由中了。

1.1K20

自己动手写一个简单MVC框架(第二版)

在该解决方案中,一共有两个项目:   一个是App,它是一个由最小化引用环境(只引用了System和System.Web,以及Mvc.Lib)搭建起来一个Web应用项目,借助MVC核心类库(Mvc.Lib...一个是Lib,它是一个模拟ASP.NET MVC框架最小化、轻量级迷你MVC框架,其中Mvc文件夹模拟System.Web.Mvc,Routing文件夹模拟System.Web.Routing,而View...③ 路由扩展者 : RouteExtend 在以往ASP.NET MVC开发中,我们会在Global全局应用处理文件中为项目注册路由规则,但却不知道其实我们常用MapRoute方法其实是一个扩展方法...因此,我们也在Mvc文件夹中实现了一个RouteExtend类,它为RouteTable类Route集合实现了一个扩展方法: /// /// Route 扩展方法所在类...通过引入Mvc.Lib核心类库,建立Controller、Model和View文件夹以及对应类和HTML实现MVC模式。

1.4K20

ASP.NET MVC 重点教程一周年版 第八回 Helper之演化

下面我们解决几个问题,来看看Helper是怎么演化出来。 起 题目:如何在View中写一个超级连接连接到主页?...这个问题看起来很好回答: 首页 承 其实上面这种不能称之为方案写法其实是最好没有调用任何方法,仅用纯HTML就解决了问题。...可以应对变化,可是还有一个问题就是href=””这种方式在VS中是很难智能感知和调试,所以要有一种很好调试方式于是就产生了最初HtmlHelper 这样就可以方便智能感知及调试了,而且代码也比较干净 结 上述浅见描述了为何出现Helper,希望新学习ASP.NET MVC朋友有所帮助。...ASP.NET MVC Framework 系列

30520

ASP.NET Web API路由规则(二)

我们发现 在项目中多了一个App_Start文件夹 其中RoteConfig.cs文件就是注册默认路由规则程序所在了 代码如下: public static void RegisterRoutes...API请求路由规则 另一个是针对普通MVC页面请求路由规则 请求路径以字符串”api”开头时候将访问webAPI函数 (注:至于为什么用MapHttpRoute而不是MapRoute;为什么用routeTemplate...系统根据请求方式判断 如果是以GET方式请求 那么将匹配controller中以“Get”开头Action 如果是以POST方式请求 那么将匹配controller中以“Post”开头Action...routeTemplate最后面的id匹配Action中参数, 这与ASP.NET MVC一致 初步自定义 那么是不是所有的匹配GET请求Action都必须以“Get”开头呢 不是的 我们可以用方法特性标记一个方法属于什么什么请求...] 另外如果你在Controller中写了一个函数 必须是public,必须以Get开头 而又不想让客户端以请求到此Action 那么可以使用方法特性 [NonAction] 标记此方法 进一步自定义

48430

精通MVC3摘译(2)-生成URL

3.所有的片段变量值必须满足路由约束。 必须清楚,路由系统不会尝试找出最佳匹配路由,它只会找到第一个匹配使用此路由生成URL。后续路由则被忽略了。...此链接会在view中显示,但是用户点击时候没有任何反应 第一个满足标准路由会生成一个非空URL,然后会终结URL生成进程,参数值也会被赋值。...null) 你可能觉得路由系统不会匹配路由,因为我们没有提供color片段值,并且也没有定义它默认值。...,但是我们可以使用ActionLink生成完整路径URL,如下: @Html.ActionLink("About this application", "Index", "Home", "https"...有时,象处理其他变量那样处理controller和action是很有用,通过提供一组键值对来生成link。我们可以使用一些方法实现。这些方法不是MVC专用

80410
领券