Html.Action
ビューで CacheControl が有効になっているアクションの結果を表示するために使用すると、問題が発生します。
コード
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*"]
public class CachedController : Controller
{
public ViewResult CachedAction()
{
var model = GetFromDB();
return PartialView(model);
}
}
SomeView.cshtml ファイルで、コードがある場合
@Html.Action("CachedAction", "Cached")
HTTP 500 エラーが発生し、SomeView.cshtml の html が次のようなpreタグで囲まれたブラウザーに送信されます。
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
<body>
<pre>
// HTML for someView.cshtml here
</pre>
</body>
</html>
ここで何が問題なのか誰でも知っていますか?
注: OutputCacheAttribute を削除すると、コードは期待どおりに機能し、ビューが正しく表示されます。