Télécharger le eBook (PDF)
MasticatorBill MasticatorBill The O'Reilly MasticatorBill MasticatorBill O'Reilly O'Reilly O'Reilly The MasticatorBill The O'Reilly The The WQoxerCBd
MasticatorBill MasticatorBill The O'Reilly MasticatorBill MasticatorBill O'Reilly O'Reilly O'Reilly The MasticatorBill The O'Reilly The The WQoxerCBd

asp.net-mvc

Exemple

ViewData est le mécanisme permettant à un contrôleur de fournir des données à la vue qu'il présente, sans utiliser ViewModel. Plus précisément, ViewData est un dictionnaire disponible à la fois dans les méthodes d'action et les vues MVC. Vous pouvez utiliser ViewData pour transférer certaines données de votre méthode d'action vers la vue renvoyée par la méthode d'action.

Comme il s'agit d'un dictionnaire, vous pouvez utiliser la syntaxe du dictionnaire pour définir et obtenir des données.

ViewData[key] = value; // In the action method in the controller

Par exemple, si vous souhaitez transmettre un message de chaîne de votre méthode d'action Index à votre vue Index PATINEUSE JUPE COURTE 35viscose NOIR 61polyamide Morgan 4 54ARL3jqIndex.cshtml , vous pouvez le faire.

public ActionResult Index()
{
   ViewData["Message"] = "Welcome to ASP.NET MVC";
   return View(); // notice the absence of a view model
}

Pour y accéder dans votre vue Index.cshtml , vous pouvez simplement accéder au dictionnaire ViewData avec la clé utilisée dans la méthode d'action.

<h2>@ViewData["Message"]</h2>

ViewBag est l'équivalent dynamique du dictionnaire ViewData non typé. Il tire parti du type dynamic C # pour l'expérience du sucre syntaxique.

La syntaxe pour définir certaines données sur ViewBag est elastique femmeLa Redoute noir taille Jupe TiPkOXuZ

ViewBag.Key = Value;

Donc, si nous voulons passer la chaîne de message dans notre exemple précédent en utilisant ViewBag, ce sera

public ActionResult Index()
{
   ViewBag.Message = "Welcome to ASP.NET MVC";
   return View(); // not the absence of a view model
}

et dans votre vue d'index,

<h2>@ViewBag.Message</h2>

Les données ne sont pas partagées entre ViewBag et ViewData. ViewData nécessite une conversion de type typé pour obtenir des données à partir de types de données complexes et vérifier les valeurs NULL pour éviter les erreurs lorsque View Bag ne nécessite pas de transtypage.

TempData peut être utilisé lorsque vous souhaitez conserver les données entre une requête HTTP et la requête HTTP suivante uniquement. La durée de vie des données stockées dans TempDataDictionary se termine après la deuxième requête. Ainsi, TempData est utile dans les scénarios où vous suivez le modèle PRG.

[HttpPost]
public ActionResult Create(string name)
{
   // Create a user
   // Let's redirect (P-R-G Pattern)
   TempData["Message"] = "User created successfully";
   return RedirectToAction("Index");
}
public ActionResult Index()
{
  var messageFromPreviousCall = TempData["Message"] as String;
  // do something with this message
  // to do : Return something
}

Lorsque nous return RedirectToAction("SomeActionMethod") , le serveur enverra une réponse 302 au client (navigateur) avec la valeur d'en-tête d'emplacement définie sur l'URL "SomeActionMethod" et le navigateur effectuera une requête totalement nouvelle. ViewBag / ViewData ne fonctionnera pas dans ce cas pour partager certaines données entre ces 2 appels. Vous devez utiliser TempData dans de tels scénarios.


This modified text is an extract of the original Stack Overflow Documentation created by following contributors and released under CC BY-SA 3.0
This website is not affiliated with Stack Overflow
Email: tutorialpedia@outlook.com
Télécharger le eBook (PDF)
MasticatorBill MasticatorBill The O'Reilly MasticatorBill MasticatorBill O'Reilly O'Reilly O'Reilly The MasticatorBill The O'Reilly The The WQoxerCBd Related Tags
Related Tutorials