2011-12-15 22 views
5

Tengo una página .csHtml. La página se completa llamando a un método en el controlador utilizando Jquery $ .get. El método en el controlador realiza una llamada a la base de datos y devuelve una vista parcial. La vista parcial se representa dentro de una etiqueta DIV.

Los datos se muestran en tiempo real. Ahora cuando presiono ctrl + f5, la página se actualiza, pero aún muestra los mismos datos. Puse un punto de interrupción en el método del controlador y me di cuenta de que no se está llamando al método en el controlador.

La primera vez que el método está siendo llamada cuando pulso F5 y de ejecución en Visual Studio. La segunda vez cuando actualizo los datos no se actualizan.

Si tengo que ver los cambios que se muestran en la base de datos, lo que tenga que reiniciar el estudio visual.

¿Alguna pista sobre lo que podría pasar? A continuación se muestra el fragmento de código.

// 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(); 
    }); 
} 

¿Alguna idea y sugerencia sobre qué podría pasar?

+1

¿Podemos ver el código del controlador que está siendo llamado por la llamada Ajax? –

+0

@elkdanger: pongo el punto de ruptura al comienzo del método del controlador y veo y no alcanza el método. Sin embargo, los datos variables se llenan con los datos antiguos. – DotNetUser

+0

No '[OutputCache]' habilitado en el controlador, ¿correcto? –

Respuesta

4

Creo que es una caché habilitada. Puede controlar la memoria caché utilizando el método $.ajax. Intente reescribirlo así:

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

Hope it helps.

+0

Exactamente lo que estaba escribiendo, normalmente puede probarlo inspeccionando la respuesta en las herramientas de desarrollo del navegador que esté utilizando, que normalmente todavía muestra la respuesta correcta y luego el html se acaba de actualizar con los datos en caché. –

+0

@Thomas Jaskula, el almacenamiento en caché fue habilitado y eso es lo que causó el problema. ¡Gracias! – DotNetUser

Cuestiones relacionadas