2017-05-09 7 views
0

Mon problème dans un MVC Razor application: J'utilise un appel d'action du contrôleur de vote basé sur un javascript minuterie pour demander s'il y a déjà une réponse (ce qui arrive par le biais de WCF dans l'appel Controller).MVC action de retour soit ActionResult laissant la vue non modifiée ou d'une vue ActionResult

S'il y a une réponse, la vue est mise à jour via un résultat d'action de retour normal View(...), qui met à jour la vue correctement. Mais si la réponse n'est toujours pas disponible, je voudrais un ActionResult qui ne change pas ou ne met pas à jour le View. J'ai essayé de retourner EmptyResult, mais alors ma page web devient blanche. Je voudrais ne pas modifier ma méthode d'appel d'action du contrôleur si possible:

@using (Html.BeginForm("actionTryGetNewSystemSentence", "Conduct", FormMethod.Post, 
     new { onsubmit = "OnTryGetNewSystemSentence(event)", id = "idConductForm" })) 
     { ...} 

J'ai aussi essayé d'autres types ActionResult mais soit ils modifient la vue ou retourner un View blanc ou nul. L'interrogation se fait tous 500 ms, donc je ne peux pas laisser la vue mettre à jour tous les 500 ms.

+0

Vous essayez de faire une demande de paiement ajax basé sur la minuterie ou vous rechargent simplement la page? – sachin

Répondre

0

Vous utilisez ici un Html.BeginForm ce qui signifie que ce n'est pas un appel ajax. Vous devez spécifier Ajax.BeginForm et définir une fonction dans jquery que vous appellerez lorsque le résultat est réussi ou échouer et mettre à jour le code html en conséquence.

@using (Ajax.BeginForm("actionTryGetNewSystemSentence", "Conduct", new AjaxOptions { HttpMethod = "POST", onsubmit = "OnTryGetNewSystemSentence(event)", OnSuccess = "Successmethod(event)", OnFailure = "Failuremethod(event)", id = "idConductForm" })) { ...}) 

vérifier le lien ci-dessous

http://www.c-sharpcorner.com/UploadFile/0c1bb2/ajax-beginform-in-Asp-Net-mvc-5/

+0

Merci beaucoup! Cela semble prometteur. Je vais essayer ça plus tard cette semaine. – AnySharp

+0

J'avais encore beaucoup d'autres problèmes, mais votre réponse m'a mis dans la bonne direction. Maintenant, j'ai le problème ennuyeux que je ne peux pas actualiser/recharger ma page de rasoir de js. – AnySharp