我使用Asp.Net Mvc 4 RC的AttributeRouting擴展。可以從同一個控制器調用RenderAction。但是當我從另一個控制器的視圖調用它時,我得到了「路由表中沒有路由匹配提供的值」異常。RenderAction來自另一個控制器的屬性路由
PS:我測試了沒有AttributeRouting的Asp.Net MVC 4 RC。一切安好。
我使用Asp.Net Mvc 4 RC的AttributeRouting擴展。可以從同一個控制器調用RenderAction。但是當我從另一個控制器的視圖調用它時,我得到了「路由表中沒有路由匹配提供的值」異常。RenderAction來自另一個控制器的屬性路由
PS:我測試了沒有AttributeRouting的Asp.Net MVC 4 RC。一切安好。
該問題與「區域」有關。您不能從另一個區域調用RenderAction,您必須添加:
@{Html.RenderAction("Index", "Message", new { area = "" });}
我想你已經用Global.asax中的自定義路由替換了所有通用路由。
你可以把一般路線({controller}/{action}
)放回檔案嗎?它應該工作。
如果這不起作用,那麼您可能必須在您的操作中提供 [ChildActionOnly]
屬性。
操作上的ChildActionOnlyAttribute和PartialViewResult都是返回參數。 http://www.make-awesome.com/2012/07/perfectionist-routing-in-asp-net-mvc/我已經實施使用這個建議。一般路線也沒有解決我的問題。 – ozz 2012-07-12 23:47:31