我是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模式,同时拥有另一个通用控制器,只有在我调用完全相同的控制器名称时才调用它。我如何在路线映射中执行此操作?
由于