我正在使用 asp.net mvc3 并且在同一个控制器中有两种不同类型的请求,我在访问正确的方法时遇到了错误
第一条件
routes.MapRoute(
"Tag1", // Route name
"Tag/{no}", // URL with parameters
new { controller = "Tag", action = "TagCloud", no = UrlParameter.Optional } // Parameter defaults
);
在这种情况下,用户将Tag Controller
像这样访问http://xyz.com/tag
或 http://xyz.com/tag/3
其中数字实际上是页码
第二条件
routes.MapRoute(
"Tag", // Route name
"Tag/{tag}/{page}", // URL with parameters
new { controller = "Tag", action = "Index", tag = "tag", page = UrlParameter.Optional } // Parameter defaults
);
在这种情况下,用户必须给出标签的名称才能获得该标签的详细信息页面,如下所示http://xyz.com/tag/mvc
,其中是标签mvc
的名称,或者 http://xyz.com/tag/mvc/3
是mvc
标签名称,并且3
是可选的页面编号,
现在的问题是两者都不能同时工作,任何在上面的人都会运行,而 mvc 会跳过较低的人。请提前帮助和感谢。