Asp.net-Mvc

表單發布後如何在我的視圖中檢查 TempData 值?

  • August 30, 2018

我從 a 填充我的 TempData FormCollection,然後嘗試TempData使用 MVC 4 檢查我的視圖中的值,但我的if語句沒有按預期工作。這是我的程式碼。

控制器 :

[HttpPost]
public ActionResult TestForm(FormCollection data) 
{
   TempData["username"] = data["var"].ToString(); //data["var"] == "abcd"
   return RedirectToAction("Index");
}

看法:

@if (TempData["var"] == "abcd") 
{
   <span>Check</span> //Never displayed
}
else
{
   @TempData["var"]; // Display "abcd"
}

這看起來很簡單,我不明白為什麼我不能顯示這個Check。你能幫助我嗎 ?

請試試這個

var tempval = TempData["var"];

然後寫你的if語句如下

@if (tempval.ToString() == "abcd") 
{
   <span>Check</span> //Never displayed
}
else
{
   <span>@tempval</span>; // Display "abcd"
}

嘗試改變TempData.Add("var", "abcd");

TempData['var'] = "abcd";

更新:

在我的控制器中:

public ActionResult Index()
   {
       TempData["var"] = "abcd";
       return View();
   }

在我看來:

// 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()
}

引用自:https://stackoverflow.com/questions/17857490