برای اینکه بتوانیم خروجی یک پارشیال ویو را کش کنیم از صفت OutputCache
استفاده میکنیم
به مثال زیر توجه کنید
ابتدا یک اکشن متد ایجاد میکنید
public ActionResult PartialViewCache() { return View(); }
در قدم دوم یک ویو برای اکشن بالا میسازیم
@{ ViewBag.Title = "Partial View Cache"; } <h2>Partial View Cache</h2> @{ Html.RenderAction("PartialViewCacheChild"); } <h2>This date and time is coming from Parent View</h2> <p>@DateTime.Now.ToString("T")</p>
در قدم سوم یک متد دیگر از نوع partialviewResult ایجاد میکنیم
[ChildActionOnly]
[OutputCache(Duration = 10)]
public PartialViewResult PartialViewCacheChild()
{
return PartialView("_PartialViewForCache");
}
توجه کنید که متد بالا از نوع childactiononly می باشد به این معنی که این متد نمیتواند به صورت مستقیم مانند دیگر متد ها فراخوانی شود
و فقط میتواند از درون یک ویو با کمک @Html.RenderAction یا @Html.Action فراخوانی شود
حالا ایجاد میکنیم یک پارشیال ویو با نام _PARTIALVIEWFORCACHE.CSHTML و کد زیر را درون آن مینویسیم
<h2>This date and time is coming from Partial View</h2> <p>@DateTime.Now.ToString("T")</p>
کد بالا تاریخ و زمان فعلی را باز میگرداند
خروجی مثال به شکل زیر می باشد