2011-12-15 2 views
5

У меня есть страница .csHtml. Страница заполняется вызовом метода в контоллере с помощью JQuery $ .get. Метод в контроллере вызывает вызов базы данных и возвращает частичное представление. Частичный вид отображается внутри тега DIV.

Данные отображаются в реальном времени. Теперь, когда я нажимаю ctrl + f5, страница обновляется, но она по-прежнему показывает одни и те же данные. Я поставил точку останова в методе контроллера и понял, что метод в контроллере не вызывается.

В первый раз, когда метод вызывается, когда я нажимаю F5 и запускаю Visual Studio. Во второй раз, когда я обновляю данные, не обновляется.

Если мне нужно увидеть какие-либо изменения, отображаемые в базе данных, мне нужно перезапустить визуальную студию.

Любая подсказка о том, что может случиться ?? Ниже приведен фрагмент кода.

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

Смежные вопросы