Asp.Net Mvc 4 RC で AttributeRouting 拡張機能を使用しています。同じコントローラーから RenderAction を呼び出しても問題ありません。しかし、別のコントローラーのビューから呼び出すと、「ルートテーブルのルートが指定された値と一致しません」という例外が発生しました。
PS: AttributeRouting なしで Asp.Net MVC 4 RC をテストしました。すべて順調。
Asp.Net Mvc 4 RC で AttributeRouting 拡張機能を使用しています。同じコントローラーから RenderAction を呼び出しても問題ありません。しかし、別のコントローラーのビューから呼び出すと、「ルートテーブルのルートが指定された値と一致しません」という例外が発生しました。
PS: AttributeRouting なしで Asp.Net MVC 4 RC をテストしました。すべて順調。
問題は「AREA」に関連しています。別の領域から RenderAction を呼び出すことはできませんでした。次を追加する必要があります。
@{Html.RenderAction("Index", "Message", new { area = "" });}
Global.asaxで、すべての一般的なルートを独自のカスタムルートに置き換えたと思います。
一般ルート({controller}/{action}
)をファイルに戻していただけますか?動作するはずです。
それが機能しない場合は
[ChildActionOnly]
、アクションで属性を指定する必要があります。