【发布时间】:2015-09-11 09:31:39
【问题描述】:
我们使用 ActionFilterAttribute 将一些参数注入到动作中,效果很好。
但是当我们添加 OutputCache 时,当使用 Html.RenderAction() 而不是直接浏览操作时,它仅在“MyID”上变化。
任何想法如何让 OutputCache 始终识别“MyID”?
控制器
[SiteIDs, OutputCache]
public ActionResult SiteContent(string myID)
{
return Content(myID);
}
动作过滤器
public class SiteIDs : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.ActionParameters.ContainsKey("MyID"))
{
filterContext.ActionParameters["MyID"] = GetMyIDByHostname();
}
base.OnActionExecuting(filterContext);
}
}
【问题讨论】:
标签: asp.net-mvc-5 outputcache actionfilterattribute