2011-07-29 159 views
0

我定义的路由映射在这里:静态URL映射和路由问题

context.MapRoute(
      "AddPost", 
      "Admin/Post/Add/", 
      new { controller = "Post", action = "Add" }, 
      new[] { "mBlog.Admin.Controllers " } 
      ); 
context.MapRoute(
      "admin_default", 
      "Admin/{controller}/{action}/{id}", 
      new { action = "Index", id = UrlParameter.Optional }, 
      new[] { "mBlog.Admin.Controllers" } 
     ); 

“管理”是一个区域。

问题是当我请求~/admin/post/add时,我得到了404错误,找不到资源。但是,一旦我删除了第一个路由映射,我就得到了期望的结果。

我测试过RouteDebugger,结果显示它匹配第一条路线。

不知道第一条路线有什么问题。

+0

请提供更多的细节。你说过/ admin/post/add的请求与第一条路由匹配。这就是我所期望的。你期望会发生什么?你有PostConttroller上的“添加”方法吗? – Haacked

+0

是的,我在PostController上有一个“Add”方法。 RouteDebugger显示/ admin/post /添加匹配的第一条路线,但我得到了一个404错误。一旦我删除第一个路由,第二个路由匹配,并且调用“添加”操作。顺便说一句,管理员是一个区域 – fengd

回答

0

尝试改变Admin/Post/Add/Admin/Post/Add

+0

我试过了。谢谢 – fengd