domanda diretta, non sembra che il mio valore viewBag venga visualizzato in una vista a cui l'utente viene indirizzato dopo aver completato un modulo.Perché il valore del viewbag non torna alla visualizzazione?
prega advise..thanks
mio indice ActionResult semplici dati resi modello ..
public ActionResult Index()
{
var source = _repository.GetByUserID(_applicationUser.ID);
var model = new RefModel
{
test1 = source.test1,
};
return View(model);
}
mio Get Modifica" ActionResult, semplicemente utilizza gli stessi dati del modello come indice.
My Post "Modifica" ActionResult, assegna i nuovi valori eventuali al modello e reindirizza alla pagina di indice, ma la pagina indice non viene visualizzato il valore ViewBag ??
[HttpPost]
public ActionResult Edit(RefModell model)
{
if (ModelState.IsValid)
{
var source = _repository.GetByUserID(_applicationUser.ID);
if (source == null) return View(model);
source.test1 = model.test1;
_uow.SaveChanges();
@ViewBag.Message = "Profile Updated Successfully";
return RedirectToAction("Index");
}
return View(model);
}
E a mio avviso Indice ...
@if(@ViewBag.Message != null)
{
<div>
<button type="button">@ViewBag.Message</button>
</div>
}
Bene, in realtà, è consigliabile reindirizzare dopo un modello POST - redirect-after-post. Restituisci la visualizzazione solo se ci sono alcuni errori che l'utente deve correggere e reinviare. –
L'utente ha chiesto come domanda diretta, ho dato una risposta diretta sul motivo per cui il valore non veniva visualizzato. – Natan
Non so, il rovescio della medaglia di archiviarlo nella sessione è che dà problemi se si vuole scalare. Sarei favorevole a restituire direttamente una vista piuttosto che a memorizzarla nelle sessioni (di cui dovresti sempre essere cauto) – Kristof