サイドバーにアカウント関連の統計情報を表示する必要があるASP.NETMVC3サイトがあります
レイアウトにRenderActionがあります。
@{ Html.RenderAction("GetStats", "MyController"); }
MyControllerのアクションメソッドはテキストを返します
[HttpGet]
public ContentResult GetStats()
{
... snip (get stats from cache/db as the case may be)....
return Content(String.Format("Your stats: {0}", stats));
}
これは通常の状況では正常に機能します。
ただし、ビューにフォームが含まれていて、サーバー側のモデル検証エラーがスローされた場合、レンダリングアクションは、統計情報があるべき場所に埋め込まれた404ビューを返します。ページの残りの部分は、正しい検証メッセージなどとともに正常に表示されます。
また、同じ結果のContentResultの代わりに通常の部分ビューを使用してみました。