Comment vérifier la valeur TempData dans ma vue après un post de formulaire?
Je remplis mes TempData à partir d'une FormCollection
et j'essaie ensuite de vérifier la valeur de ma TempData
à mon avis avec MVC 4 mais mon instruction if
ne fonctionne pas comme prévu. Voici mon code.
Manette :
[HttpPost]
public ActionResult TestForm(FormCollection data)
{
TempData["username"] = data["var"].ToString(); //data["var"] == "abcd"
return RedirectToAction("Index");
}
Vue:
@if (TempData["var"] == "abcd")
{
<span>Check</span> //Never displayed
}
else
{
@TempData["var"]; // Display "abcd"
}
Cela semble très simple et je ne comprends pas pourquoi je ne peux pas afficher cette Check
. Pouvez-vous m'aider ?
S'il vous plaît essayez ceci
var tempval = TempData["var"];
puis écrivez votre déclaration if comme suit
@if (tempval.ToString() == "abcd")
{
<span>Check</span> //Never displayed
}
else
{
<span>@tempval</span>; // Display "abcd"
}
Essayez de changer TempData.Add("var", "abcd");
à
TempData['var'] = "abcd";
Mettre à jour:
Dans mon contrôleur:
public ActionResult Index()
{
TempData["var"] = "abcd";
return View();
}
À mon avis:
// I cast to string to make sure it's checking for the correct TempData (string)
@if ((string)TempData["var"] == "abcd")
{
<span>Check</span>
}
else
{
@TempData["var"].ToString()
}