Peut-être que quelqu'un là-bas peut m'aider à comprendre ce qui se passe. J'utilise jQuery UI dialog() pour afficher les partiels html dans mon projet. Lorsqu'un utilisateur clique sur Ajouter nouveau, il affiche le formulaire d'ajout de client. Toutefois, lorsque l'utilisateur clique sur les boutons Ajouter ou Annuler dans la boîte de dialogue, j'obtiens une erreur, "$ (this) .dialog n'est pas une fonction". Si je supprime l'événement ouvert et affiche un formulaire statique dans la boîte de dialogue les boutons le travail bien.ASP.Net MVC jQuery Dialog Partiel
ClientsController
public ActionResult ajaxCreateClient()
{
Client c = new Client();
AddToViewData(c); // adds some additional info about client
return PartialView("__ClientForm", c);
}
Voir: Contacts/Créer
....
<p>
@Html.LabelForField(model => model.Client.Name) <!-- custom extension that I wrote -->
@Html.TextboxFor(model => model.Client.Name)
<a id="btnAddNew" href="javascript:void()">Add New</a>
</p>
....
<div id="addNew"></div>
jQuery
$(document).ready(function() {
$("#btnAddNew").click(function() {
$("#addNew").dialog("open");
});
$("#addNew").dialog({
autoOpen: false,
title: "Add Client",
width: 410,
modal: true,
resizable: false,
open: function(event, ui) {
$(this).load("@Url.Action("ajaxCreateClient", "Clients")");
},
buttons:
{
"Add": function() {
// validate() and do something
$(this).dialog("close");
},
"Cancel": function() {
// do something else
$(this).dialog("close");
}
}
});
});
Merci!
Oui - je lui ai donné précédemment que d'essayer sans succès. Mais merci. – gnome
Hmm, c'est étrange. Avez-vous une erreur javascript? Essayez de supprimer le code précédant l'appel de cette méthode. –
Oui très étrange. Il produit le même message d'erreur. – gnome