MVC 3路由问题http://bleh.com/globalString/Controller/action

时间:2012-03-26 08:30:17

标签: asp.net-mvc-3 asp.net-mvc-routing

我不确定这是否可行。我想做的是有一个像:

这样的网址
http://bleh.com/globalString/Controller/action

where" globalString"需要拔出来解析并设置一些变量。该字符串基本上是客户端名称。

然后我们会在此之后保持控制器和操作正常。

作为在创建新的MVC应用程序时设置默认路由时的一个小问题我是否需要删除它创建的映射或在其之前或之后放置我的新映射?

谢谢,(你可能会说这仍然是我对MVC的第一次探索)

2 个答案:

答案 0 :(得分:0)

有可能,您需要将此规则置于默认映射路由之前。路线引擎根据添加顺序搜索路线图。因此,您需要提前制定更具体的规则。

但是因为你的/ globalString / Controller / action与默认路由/ Controller / action / id冲突,所以路由引擎无法进入/ Controller / action / id路由。所以你必须为前者添加一些约束。如正则表达式等。

答案 1 :(得分:0)

您可以覆盖public override RouteData GetRouteData(HttpContextBase httpContext)中的方法System.Web.Routing.Route。在那里你可以做几乎所有关于路线的事情。