Le maintien de ViewBag valeurs pendant l'envoi des données
J'ai une question logique qui doit être répondu!!
Voici un scénario..
Dans le contrôleur
ViewBag.Name = "aaaa";
-En Vue
@ViewBag.Name
"Dans mon contrôleur, j'ai mis en valeur pour le ViewBag et récupéré la valeur de ViewBag en Vue. Maintenant en Vue, j'ai un bouton, ce qui est l'affichage de certaines données pour un HttpPost méthode. Dans HttpPost méthode, j'ai changé les valeurs de ViewBag. Ainsi, après l'exécution de cette méthode, les valeurs dans le viewbag va changer ou pas pour la vue en cours??"
-En HttpPost Méthode
ViewBag.Name="bbbb";
- Il va changer.
- du changement en vue
- débogage et de vérifier vous-même
- Éviter ViewBag, vous devriez être en utilisant un Modèle d'Affichage pour ce type de demande
Vous devez vous connecter pour publier un commentaire.
Le ViewBag les données que vous définissez sur une méthode d'action sera disponible uniquement à la vue immédiate qui vous utilisez. Il ne sera pas disponible lorsque vous postez sur votre serveur, sauf si vous gardez cela à une variable cachée à l'intérieur de la forme. Cela signifie que, après le changement de votre ViewBag de données dans votre HttpPost méthode d'action, vous pouvez voir que, dans la vue que vous êtes de retour
En supposant que votre vue est en cours d'impression, le ViewBag données
Résultat sera
Pour votre faire Aciton, Il affichera "
From GET
"Après que l'utilisateur présente la forme, Il va imprimer "
Totally new value
";Si vous voulez la vue précédente sac de données à publier, de le garder caché dans un champ de formulaire.
Et votre méthode d'Action, nous acceptons le champ caché ainsi
Résultat sera
Pour votre faire Aciton, Il affichera "
From GET
"Après que l'utilisateur présente la forme, Il va imprimer "
From GET-Totally new value
";Essayez d'éviter de dynamique des trucs comme ViewBag/ViewData pour transférer des données entre votre action de méthodes et de points de vue. Vous devez utiliser des points de vue fortement typée et viewmodel modèles.
ViewBag
ne survivra pas à la demande. Les seules données qui existe après un post, c'est les données que vous avez posté, qui ne reprendra pasViewBag
. Pas sûr de ce que votre question est ici.