2010-04-23 2 views
2

J'ai un écran de détail maître Dans ASP.NET MVC, quand je soumets quelque chose, Il me renvoie instantanément une grille avec la valeur insérée via Ajax, mon problème est : Je veux passer un message d'échec ou de succès via un dialogue modal jquery ou infobar et je ne peux pas passer un viewdata pour le jquery pour le traiter.Afficher le message succès/échec dans Jquery modal à venir d'un contrôleur Viewdata

+0

Votre description du problème est insuffisant. S'il vous plaît poster un exemple de code. –

+0

J'ai dans le contrôleur ViewData ["Mensagem"] = "Message de réussite!"; et j'ai aussi un modal Jquery. Comment puis-je charger ces messages à partir des viewdata dans le modal Jquery puisque je ne peux pas mettre une balise <%%> dans un appel de script? –

Répondre

2

La méthode d'action que vous appelez via AJAX doit renvoyer tout ce qui est nécessaire dans la réponse. Par exemple, lorsque vous placez un objet dans ViewData, cet objet sera disponible dans la vue (ou probablement la vue partielle) que vous retournez de l'action et donc disponible pour le javascript appelant. Une autre option est de retourner l'objet JSON contenant le message:

public ActionResult SomeAction() 
{ 
    // ... 
    return Json(
     new { Message = "Success Message!" }, 
     JsonRequestBehavior.AllowGet 
    ); 
} 

qui pourrait être invoqué comme ceci:

$.getJSON('/somecontroller/someaction', function(json) { 
    alert(json.Message); 
}); 
0

Vous pouvez mettre ce tag dans l'appel de script.

var msg = '<%= ViewData["Mensagem"] %>'; 
alert(msg); 

N'oubliez pas d'encoder les chaînes.

Questions connexes