2011-12-15 18 views
5

私は.cs HTMLページを持っています。このページは、Jquery $ .getを使用してcontoller内のメソッドを呼び出すことによって生成されます。コントローラのメソッドは、データベース呼び出しを行い、部分的なビューを返します。部分図はDIVタグ内にレンダリングされます。

データはリアルタイムで表示されています。今、Ctrl + F5を押すと、ページは更新されますが、それでも同じデータが表示されます。私はコントローラメソッドにブレークポイントを置き、コントローラ内のメソッドが呼び出されていないことに気付きました。

F5キーを押してVisual Studioで実行したときにメソッドが呼び出されたのは初めてです。 2回目にデータをリフレッシュするとリフレッシュされません。

データベースに表示されている変更を確認する必要がある場合は、ビジュアルスタジオを再起動する必要があります。

何が起こっているのでしょうか?以下はコードのスニペットです。

// Our onReady actions; 
$(document).ready(function() { 
    $('#RateTab').click(function() { 
     getRates(); 
    }); 
}); 

function getRates() { 
    var URL = "home/Rates"; 

    $.get(URL, function (data) { 
     $('#loading').hide(); 
     $("#rates").html(data); 

     //Initialize(); 
    }); 
} 

何が起こっているのかに関するアイデアや提案はありますか?

+1

Ajaxコールで呼び出されているコントローラコードを確認できますか? –

+0

@elkdanger:コントローラーメソッドの先頭にブレークポイントを置いて見て、メソッドにヒットしません。しかし、可変データには古いデータが取り込まれます。 – DotNetUser

+0

コントローラーで '[OutputCache]'が有効になっていませんでしたか? –

答えて

4

私はこれが有効になっているキャッシュだと思います。キャッシュを制御するには、$.ajaxメソッドを使用します。次のように書き直してください。

$.ajax({ 
    url : URL, 
    type : 'GET', 
    cache : false, 
    success : function (data) { 
      $('#loading').hide(); 
      $("#rates").html(data);} 
}); 

希望すると助かります。

+0

まさに私が書いていたものですが、通常はまだ使用しているブラウザのdevツールの応答を調べることでテストできます正しい応答が得られたら、htmlはキャッシュされたデータで更新されます。 –

+0

@Thomas Jaskulaでは、キャッシングが有効になっていて、それが問題の原因です。ありがとう! – DotNetUser

関連する問題