首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC 4子动作的outputcache属性不使用VaryByParam值

MVC 4子动作的outputcache属性不使用VaryByParam值
EN

Stack Overflow用户
提问于 2013-08-29 08:46:29
回答 1查看 4.8K关注 0票数 1

是否可以根据查询值来缓存子操作的输出?

代码语言:javascript
复制
public class HomeController : Controller
{
    public ActionResult About()
    {
        ViewBag.Message = DateTime.Now.ToLongTimeString();

        return View();
    }

    [OutputCache(Duration = 20, VaryByParam = "id")]
    public ActionResult PartialViewTestAbout()
    {
        ViewBag.Second = DateTime.Now.Second;
        return View();
    }
}


About.cshtml

<hgroup class="title">
    <h1>@ViewBag.Title.</h1>
    <h2>@ViewBag.Message</h2>
</hgroup>


@Html.Action("PartialViewTestAbout")
.
.
.

PartialViewTestAbout.cshtml:
----------
<p>
    This is a partial view About.
    <h1 style="color:red;">@ViewBag.Message</h1>
    @ViewBag.Second
</p>

如果没有百威帕拉姆的话效果很好。但是我需要刷新PartialViewAboutTest,这取决于parameter.If,我把OutPutCache放在ActionREsult上,VaryByParam是可以工作的。但是对于子操作(在本例中是PartailViewTestAbout ),它不起作用,我更改查询,但不会等待缓存持续很长时间来刷新页面.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-02 11:20:21

答案是,没有传递到PartialViewTestAbout中的缺少的id参数。

代码语言:javascript
复制
[OutputCache(Duration = 20, VaryByParam = "id")]

public ActionResult PartialViewTestAbout(int id)

效果很好。

感谢Cem LEGOZ.:)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18506189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档