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

将带有aspx扩展的url路由到mvc路由

将带有.aspx扩展的URL路由到MVC路由是一种将传统的ASP.NET Web Forms应用程序迁移到ASP.NET MVC框架的方法。通过这种方式,可以利用MVC框架的优势,如更好的可测试性、更好的分离关注点和更好的灵活性。

在ASP.NET MVC中,URL路由是通过路由表进行配置的。路由表定义了URL模式和相应的处理程序或控制器/动作对之间的映射关系。要将带有.aspx扩展的URL路由到MVC路由,可以按照以下步骤进行操作:

  1. 在应用程序的全局.asax文件中,注册MVC路由。可以使用RouteConfig.cs文件来配置路由。例如,可以添加以下代码来注册默认路由:
代码语言:txt
复制
public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}
  1. 在全局.asax文件的Application_Start方法中调用RouteConfig.RegisterRoutes方法,以注册路由:
代码语言:txt
复制
protected void Application_Start()
{
    // ...

    RouteConfig.RegisterRoutes(RouteTable.Routes);

    // ...
}
  1. 在IIS中配置URL重写规则,将带有.aspx扩展的URL重写到MVC路由。可以使用IIS的URL重写模块或URL重写规则来实现。具体的配置方式可以根据使用的IIS版本和URL重写模块的版本而有所不同。

通过以上步骤,带有.aspx扩展的URL将被路由到MVC框架中的相应控制器和动作。这样可以实现将传统的ASP.NET Web Forms应用程序逐步迁移到ASP.NET MVC框架,同时利用MVC框架的优势进行开发。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云负载均衡(CLB):https://cloud.tencent.com/product/clb
  • 腾讯云云数据库MySQL版(TencentDB for MySQL):https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云内容分发网络(CDN):https://cloud.tencent.com/product/cdn
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC路由扩展:链接和URL生成

ASP.NET 路由系统通过注册路由表旨在实现两个“方向”路有功能,即针对入栈请求路由和出栈URL生成。...具体逻辑很简单,如果指定Controller名称为Null,我们通过RequestContext获取出当前Controller名称,然后Action和Controller名称添加到表示路由变量 列表...页面(Default.aspx)中我们通过如下代码利用我们自定义RouteHelper生成三个URL。...RouteUrl方法来说,它还是利用整个路由表进行URL生成,如果显示指定了路由对象注册名称,那么就会从路由表中获取相应路由对象,如果该路由对象与指定变量列表不匹配,则返回Null;否则返回生成...路由扩展路由映射 ASP.NET MVC路由扩展:链接和URL生成

1.7K70
  • Asp.Net MVC3 简单入门第一季(四)详解Request Processing Pipeline

    而做Asp.Net MVC项目呢,所有的请求是都归结Action上,Url应该是直接请求Action。 客户端发出请求后,此请求就会通过网络发出,可能经过多个路由、还可能经过域名解析等等.......NET 4却是在.Net默认配置文件中配置。 UrlRoutingModule做了这么几个工作:首先他会拿着你请求路由表中去匹配相应路由规则。..."{controller}/{action}/{id}", // 带有参数 URL new { controller = "Home"...方法通过ViewEngine去加载具体Aspx页面或者是cshtml页面生成对应page类【针对Aspx】,然后再调用IView接口Render方法请求信息+ViewData信息以等一块渲染成...在此阶段我们发现IViewEngine内部实现这是规定路径下去加载Aspx页面生成对应ViewPage类。 IView接口Render方法才是真正Html和数据装配一块。

    61611

    ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    blog目录下index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括数据库去取出数据(其中经过怎样BLLDAL这里就不谈了...综上所述,在WebForm模式下:一个URL请求是在服务器与该URL对应路径上物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。   ...,更易于敏捷开发与测试驱动开发,有很强扩展性;      2.因为没有服务器端控件,所以程序员控制会更加灵活,页面更加干净,没有ViewState;      3.通过修改路由规则,可以控制生成自定义...  我们通过调试可以知道,在MVC中所有的请求都归结控制器下面的Action。...所以,所有的请求都是要指定一个具体Action,Url格式是根据路由规则来定。那么,在ASP.Net MVC路由规则默认又是什么,在哪里设置呢?

    2K30

    Asp.net MVC 之 Contorllers(二)

    URL路由模块会拦截无法由IIS服务处理应用程序任何请求。如果URL是指向一个物理文件(例如,一个ASPX文件) ,那么路由模块忽略该请求,除非另行配置。...接着,URL路由模块尝试匹配所有应用程序定义路由URL。如果匹配到,请求转到 ASP.NET MVC 领地,再调用一个控制器类进行处理。...最后,只有符合预定义 URL 格式(也就是路由请求,才被允许享用 ASP.NET MVC 运行时服务。所有这些请求都被路由一个共同序实例化控制器类HTTP处理程,并调用其中定义方法。...然而,在需要情况下,可以利用这个扩展功能。会在后面的章节说自定义路由处理程序时,并提供一个例子。...例如,前面的代码添加到一个 ASP.NET MVC 应用程序 Global.asax.cs 文件,然后运行,当访问default.aspx页面时,会出现一个 HTTP 404 错误。

    1.9K60

    ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    /blog/index.aspxURL,那么我们WebForm程序会到网站根目录下去寻找blog目录下index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件...)进行逻辑处理,其中或许也包括数据库去取出数据(其中经过怎样BLLDAL这里就不谈了),然后再由index.aspx页面来呈现给用户。   ...综上所述,在WebForm模式下:一个URL请求是在服务器与该URL对应路径上物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。   ...,更易于敏捷开发与测试驱动开发,有很强扩展性;      2.因为没有服务器端控件,所以程序员控制会更加灵活,页面更加干净,没有ViewState;      3.通过修改路由规则,可以控制生成自定义...所以,所有的请求都是要指定一个具体Action,Url格式是根据路由规则来定。那么,在ASP.Net MVC路由规则默认又是什么,在哪里设置呢?

    90120

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

    出于自身路由特点需要,ASP.NET对ASP.NET路由系统进行了相应扩展。...类型定义了一系列扩展方法以实现文件路径无关路由映射,这些扩展方法定义在RouteCollectionExtensions类型中。...二、 实例演示:注册路由映射与查看路由信息 ASP.NET MVC通过定义在RouteCollectionExtensions中扩展方法MapRoute进行路由映射,为了让读者对此有一个深刻认识,我们来进行一个简单实例演示...[源代码从这里下载] 我们在创建ASP.NET Web应用(不是ASP.NET MVC应用)添加一个Web页面(Default.aspx),并按照之前方式以内联代码方式直接RouteData相关属性显示出来...ASP.NET MVC路由展:路由映射 ASP.NET MVC路由扩展:链接和URL生成

    1.4K100

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

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

    84790

    ASP.NET路由系统实现原理:HttpHandler动态映射

    如下图所示,ASP.NET路由系统通过一个注册当前应用自定义HttpModule对所有的请求进行拦截,并通过对请求分析为之动态匹配一个用于处理它HttpHandler。...MvcRouteHandler 三、ASP.NET路由系统扩展         实例演示:通过自定义Route对ASP.NET路由系统进行扩展 上图所示作为请求拦截器HttpModule...实例演示:通过自定义Route对ASP.NET路由系统进行扩展 定义在ASP.NET路由系统中默认路由类型Route建立了定义成文本模板URL模式与某个物理文件之间映射,如果我们对WCF REST...Weather.aspx后台代码中,我们定义了如下一个GenerateUrl根据指定区号(areacode)和预报天数(days)创建一个Url,而Url生成直接通过调用RouteTableRoutes...模板所包含段均由具有默认值变量构成,所以当我们请求根地址时,会自动路由Weather.aspx

    1.7K60

    asp.net MVC 应用程序生命周期

    其实当我们对内在机制有了一定了解以后,会发现微软MVC框架扩展性很强,到处都留有扩展接口,让我们通过扩展能够自己定义自己所需要处理机制,这也正是为什么MVC框架如此出名原因。   ...尽管大部分时候我们都使用是框架提供默认函数,但是如果我们了解了每个控件所扮演角色,我们就可以轻松扩展和使用我们自己实现方法,就目前来说MVC扩展性比较强框架。...我们可以注册相应事件,处理逻辑注入HttpApplication处理请求某个阶段。在HttpApplication这个类中定义了19个事件来处理到达HttpApplication实例请求。...先看看下面这张图,描述了MVC主要经历管道事件: ?   上图就是一个完整mvc应用程序一个http请求响应整个儿所经历流程。...在ASP.NET MVC中,最核心的当属“路由系统”,而路由系统核心则源于一个强大System.Web.Routing.dll组件。

    1.3K10

    asp.net MVC 应用程序生命周期

    其实当我们对内在机制有了一定了解以后,会发现微软MVC框架扩展性很强,到处都留有扩展接口,让我们通过扩展能够自己定义自己所需要处理机制,这也正是为什么MVC框架如此出名原因。   ...尽管大部分时候我们都使用是框架提供默认函数,但是如果我们了解了每个控件所扮演角色,我们就可以轻松扩展和使用我们自己实现方法,就目前来说MVC扩展性比较强框架。...我们可以注册相应事件,处理逻辑注入HttpApplication处理请求某个阶段。在HttpApplication这个类中定义了19个事件来处理到达HttpApplication实例请求。...先看看下面这张图,描述了MVC主要经历管道事件: ?   上图就是一个完整mvc应用程序一个http请求响应整个儿所经历流程。...在ASP.NET MVC中,最核心的当属“路由系统”,而路由系统核心则源于一个强大System.Web.Routing.dll组件。

    1.9K90

    asp.net MVC 应用程序生命周期

    其实当我们对内在机制有了一定了解以后,会发现微软MVC框架扩展性很强,到处都留有扩展接口,让我们通过扩展能够自己定义自己所需要处理机制,这也正是为什么MVC框架如此出名原因。   ...尽管大部分时候我们都使用是框架提供默认函数,但是如果我们了解了每个控件所扮演角色,我们就可以轻松扩展和使用我们自己实现方法,就目前来说MVC扩展性比较强框架。...我们可以注册相应事件,处理逻辑注入HttpApplication处理请求某个阶段。在HttpApplication这个类中定义了19个事件来处理到达HttpApplication实例请求。...先看看下面这张图,描述了MVC主要经历管道事件: ?   上图就是一个完整mvc应用程序一个http请求响应整个儿所经历流程。...在ASP.NET MVC中,最核心的当属“路由系统”,而路由系统核心则源于一个强大System.Web.Routing.dll组件。

    1.7K30

    初识Asp.Net MVC2.0【续】

    WebFrom一个事件开发模型     浏览者发送一个url请求,如果不在使用url重写机制或静态化技术的话,url请求是具体一个xx.aspx页面。...iisurl请求交给.Net Freamwork处理,这时经过复杂Asp.Net生命周期 执行我们 xx.aspx.cs文件,我们在代码文件中编写一些调用业务逻辑层处理数据代码,然后再将处理结果返回一个新视图...ViewPage交给视图引擎aspx模板替换成具体html标签装配成html然后写回客户端。...用户请求→IIS→.Net Freamwork→Route【.Net Freamwork 4.0 版本提供Url路由组件】→Controller【控制器:处理用户请求,从model中获取数据,并将数据交给...View】→View→视图引擎【数据装配到视图中,并生成新html】→客户端 如下图所示Asp.Net MVC开发模型: 看一下一个普通Asp.Net MVC项目的项目: 希望这篇简单开发模型介绍能对你学习

    38030

    ASP.NET Core 入门教程 9、ASP.NET Core 中间件(Middleware)入门

    图中蓝色部分可以认为是系统内置比较靠前中间件或者我们自定义中间件,MVC是一个特殊中间件且通常放在最后,所以这里单独画出来 对于MVC中间件,如果请求URL路由匹配,那么后面的中间件均不会生效...我们也可以通过自定义中间件注册管道中来干预请求。 2、ASP.NET Core 中间件基础使用 在程序中,中间件是基于委托来构建。...,TokenCheckMiddleware挂在接口IApplicationBuilder上 3、中间件注册/引用 在启动类Startup.csConfigure方法中注册/引用中间件 public...}); } 这里要注意是,如果你是一个MVC应用,请一定要把MVC这个中间件作为最后一个注册。...因为中间件是按照注册顺序被调用。如果放在MVC之后,请求URL也有对应路由适配,那么整个请求已经被MVC接管。后面的中间件就不会被调用了。

    1.3K30

    ASp.NET MVC 路由「建议收藏」

    路由 ASP.NET MVC Route—转发请求: 1.客户端发起请求 2.到达IIS 3.转发到程序集 4.经过一个路由匹配–转发到匹配控制器中 5.匹配action去处理 RouteConfig...中如果有多个路由,从上到下进行匹配, 按照路由url正则表达式进行匹配, 在命中url后找不到Controller或View则使用defaults中默认参数 public static void...routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //在MVC之前,WebFrom开发,IIS通过aspx后缀进行匹配...//后来MVC出现之后,通过IIS补丁,追加后缀进行识别匹配 //IIS升级,不需要补丁 //于是需要忽略掉带axd请求 /...year=2021&month=12&day=02"作为一个参数 //路由规则是key-value形式 //如果路由是多个,name值不能相同,

    48920
    领券