ASP.Net MVC路由配置的问题

问题描述

最近刚刚接触MVC,有一个动态地址需要解析.格式是:http://www.ABC.com/{QQ}/Home/Index/{id}和http://www.ABC.com/CC/Home/Index/{id}这里的{QQ}是动态的,如果QQ有值的话需要判断是否有效,没有效要跳转到http://www.ABC.com/CC/Home.在网上找了很多资料,但都是处理{Controller}/{Action}的,没看到上一层的解析.请问各位大神这个该如何处理?先谢谢了!还有就是,路由是否同时支持这两种格式?http://www.ABC.com/{QQ}/Home/Index/{id}和http://www.ABC.com/Home/Index/{id}

解决方案

解决方案二:
是否有效的判断可以放在控制器中。可以同时作两种格式,不过第一种要放在最前面,因为路由的原则是如果同时满足多个匹配,最先匹配的有效。你可以使用路由调试工具调试下。
解决方案三:
建议LZ使用RouteDeBugger来调试,这样就能看到匹配哪个路由了
解决方案四:
同意2楼的观点,在路由配置表里配置好顺序。然后用RouteDeBugger来验证逻辑的正确性。
解决方案五:
用路由约束(RouteConstraint)可以实现

时间: 2024-08-03 10:37:35

ASP.Net MVC路由配置的问题的相关文章

ASP.NET MVC 路由规则XML化

最近由于工作关系,重新回顾了ASP.NET MVC 的 1.0 版本.2.0版本还没有研究. 由于MVC框架发展不久,还有很多不足的地方.其中关于路由规则配置这一块问题比较大.首先路由规则是在全局配置问价 Global.asax 的 Application_Start()事件中注册的. 代码public static void RegisterRoutes(Route Collection routes) { routes.IgnoreRoute("{resource}.axd/{*pathIn

一起谈.NET技术,ASP.NET MVC 路由规则XML化

最近由于工作关系,重新回顾了ASP.NET MVC 的 1.0 版本.2.0版本还没有研究. 由于MVC框架发展不久,还有很多不足的地方.其中关于路由规则配置这一块问题比较大.首先路由规则是在全局配置问价 Global.asax 的 Application_Start()事件中注册的. 代码 public static void RegisterRoutes(RouteCollection routes){ routes.IgnoreRoute("{resource}.axd/{*pathInf

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

ASP.NET 路由系统通过注册的路由表旨在实现两个"方向"的路有功能,即针对入栈请求的路由和出栈URL的生成.前者通过调用代表全局路由表的RouteCollection对象的GetRouteData方法实现,后者则依赖于RouteCollection的GetVirtualPathData方法,而最终还是落在继承自RouteBase的路由对象的同名方法的调用上.为了编程的方面,ASP.NET MVC为了设计了HtmlHelper和UrlHelper这两个帮助类,我们可以通过调用它们的A

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

上周我写了三篇文章(一.二.三)详细地介绍了ASP.NET的路由系统.ASP.NET的路由系统旨在通过注册URL模板与物理文件之间的映射进而实现请求地址与文件路径之间的分离,但是对于ASP.NET MVC应用来说,请求的目标不再是一个具体的物理文件,而是定义在某个Controller类型中的Action方法.出于自身路由特点的需要,ASP.NET对ASP.NET的路由系统进行了相应的扩展. 一.基本路由映射 通过前面的介绍我们知道基于某个物理文件的路由映射通过调用代表全局路由表的RouteTab

Asp.Net MVC中配置Serilog的方法_实用技巧

一.Serilog介绍 Serilog 是一种非常简便记录log 的处理方式,使用Serilog可以生成本地的text文件, 也可以通过 Seq 来在Web界面中查看具体的log内容. 二.配置方法 接下来就简单的介绍一下在Asp.Net MVC中如何配置是Serilog 生效:  1):下载并且安装Seq,具体的下载URL 为 [http://getseq.net/Download],安装到默认的路径之后,实际上时候启动了一个Win Service,并且监听的端口号默认为 5341. 安装的最

MVC路由配置

问题描述 routes.MapRoute(name:"_html",url:"{controller}/{action}.ht",defaults:new{controller="Auth",action="Login"});routes.MapRoute(name:"Default",url:"{controller}/{action}/{id}",defaults:new{contr

[转贴]ASP.Net MVC框架配置与分析

原文:http://www.cnblogs.com/birdshover/archive/2008/01/19/1043749.html 前几年的时候ASP.Net就有MVC的概念,实际上就是我们熟悉的WebForm开发模型. 1.Model层与视图无关,并且只与数据库相关: 伪代码: pulic class Model {       pulic DataSet ds()       {             //数据库库取数据             return ds;       }

asp.net mvc 路由的问题

问题描述 我们做的一个项目有如下两个的urlwww.xxx.com/About/Aboutfirstwww.xxx.com/About/Aboutsecond现在老板要求通过park.xxx.com/more来显示上面的第一个的内容(www.xxx.com/About/Aboutfirst)现在老板要求通过sei.xxx.com/more来显示上面的第二个的内容(www.xxx.com/About/Aboutsecond)我们现在已经把park.xxx.com和sei.xxx.com域名映射到了

ASP.NET MVC路由配置问题

问题描述 routes.MapRoute(name:"Category",url:"{action}/{category}/{currentpage}",defaults:new{controller="Home",action="Index",category=UrlParameter.Optional,currentpage="1"});这是我的路由配置一节当路由中的catetgory为ASP.NET这