2017-08-08 3 views
0

MVCプロジェクトでは、現在の時間(動的)を示す以外は静的コンテンツを持つページがあります。このページをキャッシュしますが、時間のためにできません。MVCのキャッシュページの一部を動的に更新する

DonutCatchingを使用しようとしましたが、動作しません。 以下はDonutCatchingを使って試したコードです。

メインコントローラ:

[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> 

-Search.cs Date.cshtml

@model DateTime 
<h2>@Model</h2> 

私はMain.cshtmlをキャッシュが、日付の一部を更新したいですMain.cshtmlが要求されるたびに。どんな解決策か、私は上で間違って何をしていますか?

+0

は、なぜあなたは、単にそのためにJavascriptを使用していない場合に役立ちます私に教えてください:jQueryのでは、この機能をチェックしてください ? – Robert

+0

Javascriptは正常に機能しますが、日付の代わりに広告を表示したい場合はどうすればよいですか? – yajiv

答えて

1

ページ全体がキャッシュされたサーバー側であるとは思われません。あなたはタイマー(種類のsetTimeout js)に基づいてAjaxの負荷を試すか、部分的なビューの代わりに$ .ready()ハンドラを置くことができます。キャッシュされたメインページの読み込みが完了したら、そのセクションをロードします。 http://api.jquery.com/load/

<div id="dynamicsection"> 
<script> 
$("#dynamicsection").load("@Url.Action("Part", "Search")"); 
</script> 

はそれが

関連する問題