95 votes

Comment fonctionne ViewBag dans ASP.NET MVC ?

Comment le système MVC d'ASP.NET ViewBag travail ? MSDN dit que c'est juste un Object ce qui m'intrigue, comment les propriétés "magiques" telles que ViewBag.Foo et des ficelles magiques ViewBag["Hello"] fonctionne réellement ?

En outre, comment puis-je en créer un et l'utiliser dans mon application ASP.NET WebForms ?

Des exemples seraient vraiment appréciés !

1voto

Dexter Points 69

ViewBag est un type dynamique qui vous permet de définir ou d'obtenir des valeurs de manière dynamique et d'ajouter un nombre quelconque de champs supplémentaires sans avoir recours à une classe fortement typée. Ils vous permettent de faire passer des données du contrôleur à la vue. Dans le contrôleur......

public ActionResult Index()
{
    ViewBag.victor = "My name is Victor";
    return View();
}

En vue

@foreach(string a in ViewBag.victor)
{
     .........
}

Ce que j'ai appris, c'est que les deux doivent avoir la propriété de sauvegarde du nom dynamique, c'est-à-dire ViewBag.victor.

-1voto

footsteps Points 1
public dynamic ViewBag
{
    get
    {
        if (_viewBag == null)
        {
            _viewBag = new DynamicViewData(() => ViewData);
        }

        return _viewBag;
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X