我有一个名为News的区域,在该区域内我有一个Post Controller。帖子控制器具有以下操作:
public ActionResult Index(int id, string name)
{
...
}
我在NewsAreaRegistration中有一条路线
context.MapRoute(
"News_post",
"News/{controller}/{id}/{name}",
new { action = "Index", controller = "Post",name = UrlParameter.Optional }, new { id = @"\d+"}
);
我也试过没有名称对象属性,有和没有id @" \ d + ..事情是我在另一个网站上有完全相同的设置,只是很困惑为什么它'没有按预期工作。
现在首先,行动将解决:
http://example.com/News/Post/Index/3
当我希望它解决
时http://example.com/News/Post/3
然后我还希望这个字符串参数在最后,所以它应该解析为
http://example.com/News/Post/3/test-post
但改为
http://example.com/News/Post/Index/3?test-post
我有这个路由的噩梦。我试图搞乱路由属性,但也没有运气区域......任何想法的人?
答案 0 :(得分:0)
所以我通过使Route看起来像这样解决了部分问题:
context.MapRoute( "News", "News/Post/{id}/{name}", new { action = "Index", controller = "Post" }, new { id = @"\d+" } );
因此我删除了名称参数的UrlParamter.Optional。我需要真正了解其中一些路线是如何工作的。有时它很容易,但其他人我无法做到最简单的事情。