2010-02-14 7 views
0

J'utilise la boîte de dialogue d'interface utilisateur de jQuery pour ouvrir un formulaire de base. Je veux soumettre ce formulaire et fermer le dialogue. J'ai des problèmes.ASP.NET MVC Dialog Stumped

La fenêtre parent ouvre la boîte de dialogue (qui contient une vue partielle) à partir du clic et du formulaire est soumis, le navigateur ouvre la vue partielle dans le navigateur. Je veux qu'il fasse le travail de forme et ferme le dialogue.

Y at-il un moyen de faire ce VIA Ajax.SubmitForm ou une autre méthode.

Répondre

0

J'ai trouvé une solution idéale et ne peux pas croire que je ne pouvais pas le résoudre plus tôt. Utilisez simplement Ajax.BeginForm en utilisant la fonction OnSuccess des AjaxOptions.

<% using (Ajax.BeginForm("Action", "Controller", new AjaxOptions { OnSuccess = "CloseDialog" })) { %> 
    <%= Html.Hidden("ID", ViewData["ID"]) %> 
    <input type="submit" value="Submit" /> 
<% } %> 

function CloseDialog() { 
    $("#ImageCropModal").dialog("close"); 
} 

Ceci est publié dans le formulaire sans avoir à afficher de nouveau la vue. Je peux fermer la boîte de dialogue manuellement, après la publication du formulaire.

0

Vous devez capturer l'événement onsubmit du formulaire, envoyer le formulaire via Ajax, fermez la boîte de dialogue, puis Return False pour empêcher le navigateur de soumettre à nouveau le formulaire et de faire une publication en pleine page.