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 并且看到正确呈现的视图,代码将按预期工作。