Asp.net MVC4动态路由

时间:2016-02-22 04:58:05

标签: c# asp.net-mvc-4

我是MVC的新手,并且在动态路由方面存在以下问题。

我的网址模式将是

site.com/categorry1
site.com/categorry1/category2/category3
site.com/categorry1/model
site.com/model
site.com/search/products?model?xxx
site.com/common/getattributes?attname=123

基本上很难识别网址的模式,所以我有一个名为catchall的公共控件,它拆分网址段并相应地重定向,这是正常工作

我的路线规则如下:

routes.MapRoute("Default", "{*url}", new { controller = "CatchAll", action = "Index" });

现在的问题是如何调用固定控制器。作为一个例子,我需要调用一个名为CommonController的控制器,它有一个名为getData的方法。

我已将下面的规则(在捕获之上)添加到路线中,但它会出现404。

routes.MapRoute(name: "Common", url: "{Common}/{action}", defaults: new { controller = "Common" });
routes.MapRoute("Default", "{*url}", new { controller = "CatchAll", action = "Index" }); 

简而言之,

如何捕获所有控制器以捕获所有url模式,同时拥有另一个通用控制器,只有在我调用完全相同的控制器名称时才调用它。我如何在路线映射中执行此操作?

由于

0 个答案:

没有答案