2012-07-12 61 views
1

我使用Asp.Net Mvc 4 RC的AttributeRouting扩展。可以从同一个控制器调用RenderAction。但是当我从另一个控制器的视图调用它时,我得到了“路由表中没有路由匹配提供的值”异常。RenderAction来自另一个控制器的属性路由

PS:我测试了没有AttributeRouting的Asp.Net MVC 4 RC。一切安好。

回答

3

该问题与“区域”有关。您不能从另一个区域调用RenderAction,您必须添加:

@{Html.RenderAction("Index", "Message", new { area = "" });} 
0

我想你已经用Global.asax中的自定义路由替换了所有通用路由。
你可以把一般路线({controller}/{action})放回档案吗?它应该工作。

如果这不起作用,那么您可能必须在您的操作中提供 [ChildActionOnly]属性。

+0

操作上的ChildActionOnlyAttribute和PartialViewResult都是返回参数。 http://www.make-awesome.com/2012/07/perfectionist-routing-in-asp-net-mvc/我已经实施使用这个建议。一般路线也没有解决我的问题。 – ozz 2012-07-12 23:47:31

相关问题