Sto provando a passare un numero casuale string
dal mio Controller
allo View
.Utilizzo di ViewData per passare la stringa dal controller alla vista in ASP.NET MVC3
Ecco il mio codice Controller
:
[HttpPost]
public ActionResult DisplayForm(UserView user)
{
//some data processing over here
ViewData["choice"] = "Apple";
return RedirectToAction("Next", "Account");
}
Ora voglio passare quel valore di dati "Apple" per mio punto di vista Next.cshtml
che viene creato nel modo seguente:
//View: Next.cshtml
@{
ViewBag.Title = "Thanks for registering";
Layout = "~/Content/orangeflower/_layout.cshtml";
}
<p>Your favorite fruit is:</p>@ViewData["choice"]
Ma io non sono in grado per vedere i miei dati nel browser quando viene eseguito il progetto.
Ecco l'istantanea:
1) In data di debug, il controller che mostra il valore:
2) La vista del browser non mostra il valore di "Apple"
3) Su ulteriore debug al mio Next.cshtml
Visualizza:
Perché il valore non viene trasmesso correttamente alla vista. Entrambi i miei controller per Next
e DisplayForm
si trovano nello stesso controller AccountController.cs
, il valore ancora non viene visualizzato.
Qualcuno può aiutarmi a risolvere questo?
ohh quindi ho bisogno di scrivere il ritorno Visualizza ("Avanti", "Account") come da codice giusto se non sto reindirizzando? –
@ParthDoshi, sì, se si desidera utilizzare direttamente ViewData. Ma se vuoi mantenere il pattern Redirect-After-Post puoi usare TempData come mostrato nella mia risposta. –
grazie ha funzionato !! :) –