2009-10-04 10 views
0

Quelqu'un peut-il me diriger dans la direction de l'utilisation des popups modaux jQuery avec asp.net MVC et AJAX.Comment utiliser Pop-Ups modale avec ASP.Net MVC et AJAX?

Est-ce que quelqu'un a réussi à bien faire ça?

J'ai essayé JQModal et JQuery UI mais je n'ai pas encore trouvé de bons exemples ou de bons tutoriels.

+0

"avec un succès limité" - pourquoi limité? quels obstacles avez-vous rencontrés? –

+0

J'ai essayé JQModal et je peux l'obtenir à travers le contrôleur mais pas dans une fenêtre contextuelle. J'ai également essayé l'interface utilisateur de jQuery et j'ai réussi à faire fonctionner correctement le popup, mais sans utiliser AJAX ou passer par le contrôleur. Je n'ai jamais posté d'échantillons de code car je ne veux pas guider la réponse de quelqu'un si ce n'est pas la meilleure. – Davy

+0

Les exemples de code sont toujours utiles car ils indiquent votre objectif, facilitent la configuration et la reproduction du problème et permettent d'obtenir une réponse plus rapidement. –

Répondre

0

écrit Davy, « Il est donc possible de cliquer sur une ligne, pop-up avec des contrôles modifiables remplis, valider et enregistrer, puis rediriger vers la page de la liste?

Salut Davy,

J'ai également mis en place des boîtes de dialogue de l'interface utilisateur jQuery dans mes formes MVC. le plus dur est pas le dialogue, mais les appels ajax. les données-sage, une boîte de dialogue jQuery (recommandé) est rien Plus d'un autre tag DIV dans votre formulaire:

Lorsque vous déclarez les options de dialogue, vous pouvez spécifier des boutons, avec des noms et une fonction qu'ils exécutent. Vous Modal dialogue, ajouter quelque chose comme:

buttons: { "Add row": function() { yourAjaxFunction(); } 

dans la fonction yourAjaxFunction(), vous pouvez obtenir vos valeurs avec quelque chose comme:

var myFields = $("#MyDialog").serialize(); 

ou

var myFieldsArray = $("#MyDialog").serializeArray(); 

pour obtenir la les noms et les valeurs de vos champs, puis validez-les, puis publiez "myFields" sur votre contrôleur avec un:

$.ajax(<your options here>); 

ou:

$.post(<your options here>) 

Votre contrôleur MVC fera un plaisir de convertir les valeurs spécifiées dans le querystring à l'appariement des paramètres de méthode nommée, de les enregistrer, puis renvoyer une réponse (soit une vue partielle ou JSON ou texte). Le Ajax reference dans jQuery est très utile pour cela.

+0

et BTW il ressemble et fonctionne très bien. – Evildonald

0

J'ai utilisé les modales de dialogue jqueryui avec ASP.Net MVC et ça marche très bien. Ces modaux sont très faciles à mettre en œuvre à mon avis. Jetez un oeil à ces modaux dialogue ici: jqueryui dialog

+0

Merci, je peux obtenir le pop-up à venir en utilisant cette méthode, mais il ignore le contrôleur. Il est alors possible de cliquer sur une ligne, de faire apparaître des commandes éditables remplies, de valider et de sauvegarder puis de revenir à la page de liste. – Davy

+0

Si je vous suis correctement, vous voulez cliquer sur une ligne d'une grille pour ouvrir une boîte de dialogue avec un formulaire pré-rempli qui a une validation de champ. Si c'est une possibilité pour vous, je voudrais regarder MVC 2 Preview 2. Il y a quelques morceaux qui pourraient vous aider beaucoup ici (http://haacked.com/archive/2009/10/01/asp. net-mvc-preview-2-released.aspx). L'un est la bibliothèque de validation jQuery. Vous pouvez configurer le côté serveur des règles de validation (métadonnées de validation du modèle) et les émettre vers le client. Un plus gros morceau est que vous pouvez générer le formulaire dynamiquement en utilisant les métadonnées du modèle pour dicter les champs de formulaire. – jimyshock