2016-10-09 1 views
0

Je suis confus quant à la façon d'actualiser un contrôleur de mon client. J'envoie un appel de mon client pour frapper un ActionMethod dans le contrôleur qui actualisera ma page après 7 sec. L'appel arrive à Controller, les journaux sont créés mais l'actualisation n'a jamais lieu. Ajax Appel pour frapper ActionMehtod du contrôleur et rafraîchir tout le contrôleur/DOM.Le contrôleur n'est pas rafraîchi à partir de AJAX

<script> 
    $.get("@Url.Action("Refresh","Driver")",function(data){ 
    $("#View1").html(data); 
    }); 
    alert("Refresher ActionResult Exit"); 
</script> 

Actualiser ActionResult Méthode appelle simplement rafraîchir après 7 secondes, sans vue attachée à elle:

public ActionResult Refresh() 
    { 
     logger.AddLog("PAGE Refresh Set to 7 sec"); 
     Response.AddHeader("Refresh", "7"); 
     logger.AddLog("Returning From Refresher Function"); 
     return View(); 
    } 

Répondre

1

Je pense que vous confondez deux méthodes différentes de rafraîchissement.

Si vous souhaitez mettre à jour une partie d'une page (# View1) toutes les 7 secondes, le meilleur moyen est d'utiliser javascript dans _Layout.cshtml avec setInterval(). Un en-tête de rafraîchissement n'est pas nécessaire dans cette situation.

Si vous souhaitez mettre à jour la page entière tous les 7 secondes, utilisez un Response.AddHeader() de votre point de vue, ou <meta http-equiv="refresh" content="7"> dans _Layout.cshtml et pas javascript est nécessaire.