在我的MVC项目中,有一个页面有静态内容,除了它显示当前时间(动态)。我想缓存这个页面,但由于时间我不能。
我尝试过使用DonutCatching,但它不起作用。 以下是我尝试使用DonutCatching的代码。
主控制器:-Search.cs
[OutputCache(Duration=3600)]
public ActionResult Index()
{
return View("Main.cshtml");
}
public ActionResult Part()
{
return View("Date.cshtml",DateTime.Now);
}
Main.cshtml
@using DevTrends.MvcDonutCaching;
<div></div>
<div></div>
@Html.Action("Part","Search",true)
<div></div>
<div></div>
Date.cshtml
@model DateTime
<h2>@Model</h2>
我想缓存Main.cshtml,但每次请求Main.cshtml时都会更新部分日期。任何解决方案或我在上面做错了什么?
答案 0 :(得分:1)
我认为这是不可能的,因为整个页面都是缓存服务器端。您可以尝试基于计时器(类型为setTimeout js)的Ajax加载或者放置$ .ready()处理程序而不是部分视图。然后在缓存的主页完成加载后加载该部分。 在jQuery中检查此函数: http://api.jquery.com/load/
<div id="dynamicsection">
<script>
$( "#dynamicsection" ).load( "@Url.Action("Part", "Search")");
</script>
如果有帮助,请告诉我