comment passer des données à partir de la Vue du Contrôleur à l'aide d'ajax get ou post mvc avec des paramètres
Je suis en train de transmettre des données de Vue de la Méthode d'Action du Contrôleur à l'aide d'ajax comme suit:-
J'ai occurrence d'abonnement de l'utilisateur à qui j'ai transmis à partir d'un autre contrôleur de ce point de vue ci-dessous à l'aide de viewbag un peu comme ce ViewBag.MyUser = MyUser;
Maintenant, je veux passer "MyUser" à un autre Contrôleur de formulaire de ce point de vue à l'aide d'ajax comme ci-dessous.
$('#Link').click(function () {
$.ajax({
url: http://localhost/Account/Process,
type: 'POST',
data: '@ViewBag.MyUser',
success: function () {
},
error: function () {
}
});
La ActionMethod à qui j'ai écris est comme suit
public ActionResult Process(MembershipUser MyUser)
{
//Do somethihng with MyUser
}
Si je passe faire ajax post, j'obtiens l'erreur interne au BeginExecuteCore(AsyncCallback callback, object state)
en précisant que " Pas de constructeur sans paramètre défini pour cet objet.' et de contrôle n'est pas en vient même à mon actionmethod.
Si je supprimer le paramètre de (MembershipUser MyUser)
à partir de la Méthode d'Action, il l'envoie à la méthode d'Action, mais alors
- comment puis-je passer "MyUser" dans ce cas, sans le paramètre à partir de ce point de vue contrôleur ?
- est-il quelque chose de mal avec les routes ? si oui, quel devrait être le parcours ?
- ou dois-je utiliser get ou post ?
- Où dois-je jeter la MyUser retour à MembershipUser ?
OriginalL'auteur user2232861 | 2013-04-10
Vous devez vous connecter pour publier un commentaire.
Le problème est que vous ne pouvez pas passer MyUser comme paramètre de JQuery parce que JQuery ne connaît pas la classe MembershipUser. Rappelez-vous que JQuery est un langage côté client et MembershipUser est défini en C# sur le côté serveur.
Vous pouvez passer les propriétés que vous avez besoin de la MyUser objet de la Processus action à l'aide d' OBTENIR comme suit (supossing que le MyUser objet a et ID un Nom):
L'action doit être quelque chose comme ceci:
J'espère que cela vous aide!
C'est parce que vous ne pouvez pas vous passer de type "objet" données via ajax. Il doit être une chaîne de caractères...
OriginalL'auteur danieleduardo29