MVC - utiliser le C# pour remplir ViewBag avec Json Action Résultat
J'ai un MVC site web avec C# code derrière. Je suis en utilisant un ActionResult, qui renvoie du Json.
Je suis en train de mettre quelque chose dans le ViewBag mais il ne fonctionne pas.
Le code ressemble à ceci -
public ActionResult GetStuff(string id)
{
ViewBag.Id = id;
stuff = new StuffFromDatabase(id);
return this.Json(stuff , JsonRequestBehavior.AllowGet);
}
La "id" ne semble pas aller dans le ViewBag.Id.
Puis-je mettre le code dans le ViewBag de cette façon? Si pas toutes les suggestions sur comment je dois faire?
Merci!
Comment utilisez-vous ViewBag dans la Vue?
En fait je veux juste la valeur que j'ai mis dans le ViewBag à être accessible dans mon code C# quand je fais un POST. Comme - var currentId = ViewBag.Id
Je suis confus.. comme vous êtes déjà passer l'id comme argument?
L'id n'est pas dans les "trucs" que je suis de retour dans l'objet Json. Je veux faire un POST pour le code C# - derrière comme [HttpPost] public ActionResult GotStuf(FormCollection formCollection) { var currentId = ViewBag.Id; }
Si vous souhaitez définir ViewBag.Id de la Vue..
En fait je veux juste la valeur que j'ai mis dans le ViewBag à être accessible dans mon code C# quand je fais un POST. Comme - var currentId = ViewBag.Id
Je suis confus.. comme vous êtes déjà passer l'id comme argument?
L'id n'est pas dans les "trucs" que je suis de retour dans l'objet Json. Je veux faire un POST pour le code C# - derrière comme [HttpPost] public ActionResult GotStuf(FormCollection formCollection) { var currentId = ViewBag.Id; }
Si vous souhaitez définir ViewBag.Id de la Vue..
OriginalL'auteur A Bogus | 2012-09-28
Vous devez vous connecter pour publier un commentaire.
Une autre solution peut-être: si vous voulez accéder propriété "id" après le post de l'action que le retour json résultat, vous pouvez retourner un objet complexe contenant toutes les données nécessaires:
Après, en json retourné valeur, vous pouvez accéder à toutes les propriétés, comme dans cet exemple:
Je vais utiliser cette RoBYCoNTe (avec quelques autres code) Merci!
OriginalL'auteur Roberto Conte Rosito
ViewBag est disponible uniquement côté serveur. Vous envoyez une chaîne json renvoyé au navigateur, sans doute le navigateur, puis fait quelque chose avec elle. Vous devez envoyer l'id de la réponse json comme suit:
OriginalL'auteur DavidWainwright
Vous essayez de définir
ViewBag.Id
dans le résultat Json?ViewBag
utilisées dans les vues, pas dansJson
.Ajouté
Comme je peux le voir dans les commentaires, alors vous essayez de l'utiliser en javascript, vous pouvez faire de telles choses. Essayez ceci:
Ensuite, vous pouvez accéder à ces données en javascript.
OriginalL'auteur webdeveloper