ASP.NET - Ajax.BeginForm OnSuccess rappeler avec params
Je veux ajouter des paramètres à mon OnSuccess de retour d'appel (mais garder l'ajax variable de contexte).
Ce que j'ai fait est:
using (Ajax.BeginForm("Register", new AjaxOptions() {
OnSuccess = "new function(arg){HandleBasicForm(arg , 'MyCustomVariable')}",
...
La JS fonction:
function HandleBasicForm(ajaxContext , myCustomVariable){
var content = ajaxContext.get_response().get_object();
....
}
Mais ajaxContext
est null.
Comment dois-je faire?
source d'informationauteur Shazam
Vous devez vous connecter pour publier un commentaire.
Depuis que vous utilisez
get_response()
je devine que vous n'êtes pas en utilisant le javascript discret trucs (dans MVC3 vous avez définiHtmlHelper.UnobtrusiveJavaScriptEnabled = false
) et vous faites référence à la MicrosoftAjax,js et MicrosoftMvcAjax.js les fichiers. Si c'est le cas, vous avez juste besoin de déposer lenew
mot-clé.Si vous utilisez de la MVC3 discrète prise en charge de javascript avec jquery.unobtrusive-ajax.js ensuite, vous pouvez utiliser la implicitement disponibles
xhr
etdata
variables à la place.Dans votre gestionnaire il n'y aurait pas besoin d'utiliser
get_response().get_object()
depuis le désérialiser les données JSON serait passé en à votre gestionnaire directement.OnSuccess
reçoitdata, status, xhr
à partir du serveur:Et puis son équivalent méthode JavaScript serait:
Maintenant votre contrôleur doit retourner:
Puis dans
myJsMethod
vous aurez accès àdata.param1
et ainsi de suite.