RenderAction出错 - 路由表中的路由与提供的值不匹配

时间:2011-10-26 19:21:00

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

我在项目中有几个方面。在一个区域我有一个页面(剃刀),在其中我添加了RenderAction()方法。

@{Html.RenderAction("Index", "Forum");}

应用程序有效,但是当我在调试模式下运行时,我的代码在此行中出现错误(下图)我按下继续,一切正常但我必须删除此错误。

No route in the route table matches the supplied values

在Global.asax中,我添加了以下路由,但它没有解决错误。

routes.MapRoute(
                "Forum", 
                "{area}/{controller}/{action}/{id}", 
                new { area = "Forum", controller = "Home", action = "Index", id = UrlParameter.Optional });

它有效,但我真的不明白怎么样。
我在Global.asax RegisterRoutes()方法中添加了以下代码:

routes.MapRoute(
                "Forum", // Route name
                "{area}/{controller}/{action}/{id}", // URL with parameters
                new { controller = "Forum", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

1 个答案:

答案 0 :(得分:2)

尝试设置area路由参数:

@{Html.RenderAction("Index", "Home", new { area = "forum" });}