MVC Passando ViewBag valore da un altro controller

Ho impostato un valore in Viewbag.message nel mio di default HomeController e visualizza correttamente nel mio Shared/_Layout.cshtml.

Dopo di che ho aggiunto un altro TestController e nel TestController vista, Viewbag.message sembra essere null. Posso sapere cosa c’è di sbagliato con esso.

Mi corregga se sbaglio,da quello che ho capito Viewbag.Message dovrebbe essere disponibile da tutti i luoghi?

per TestController vista anche di quello che avete fatto per Viewbag.messaggio predefinito HomeController

OriginaleL’autore Isaac Lem | 2013-08-28

3 risposte

  1. 24

    ViewBag è una proprietà dinamica che sfrutta le nuove funzionalità dinamiche in C# 4.0.
    Fondamentalmente si tratta di un involucro intorno al Simbolo e anche usato per passare i dati dal controller di visualizzazione corrispondente.

    • È anche la vita si trova solo durante la richiesta corrente. Se si verifica il reindirizzamento, allora è il valore null.
    • Non richiesto typecasting per il tipo di dati complesso.

    Di seguito è una tabella di sintesi che mostra il diverso meccanismo di persistenza.
    MVC Passando ViewBag valore da un altro controller Credito:CodeProjectArticle

    utilizzando TempData.Keep di mantenere i dati da Visualizzare per Controller e il Controller di Vista.

    OriginaleL’autore

  2. 6
    [HttpPost]
    public ActionResult Index()
    {
        TempData["Message"] = "Success";
        return RedirectToAction("Index");
    }
    
    
    public ActionResult Index()
    {
        ViewBag.Message=TempData["Message"];
        return View();
    }

    OriginaleL’autore

  3. 0
    //one controller to another controller you need to use seesion 
    //this is Home controller
    
    [httpPost]
    public actionresult Index()
    {
        session["Message"] = "Welcome to session tutorial";
        return redirectToAction("Index","About");
    }
    
    //now pass to the another About controller
    
    [httpPost]
    public actionresult About()
    {
        viewbag. message = session["Message"]
        return view();
    }

    OriginaleL’autore

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *