我想检查TempData
条件中的if
。但是我收到了一个错误。
我的控制器
public ActionResult Customer(PurchaseViewModel purchaseviewmodel)
{
TempData["Fromdt"] = purchaseviewmodel.FromDate;
TempData["todt"] = purchaseviewmodel.ToDate;
If(TempData["Fromdt"] == Convert.ToDateTime(“01/01/0001”)&& TempData["todt"] == Convert.ToDateTime(“01/01/0001”))
{
//...
}
else
{
//...
}
return View(Customer);
}
为什么我在Tempdata中获取模型值意味着我想将我在TempDate中获取的值传递给另一个动作。所以只有我使用TempData。现在我收到了错误。错误是
在object和System.DateTime之间不应用Operator ==。
我尽力解释这个问题。所以任何人都可以帮我解决这个问题。我只需要TempData不将值直接存储在变量中。我可以将值存储在变量中,如
var fmdt = purchaseviewmodel.FromDate;
var todt = purchaseviewmodel. ToDate;
但是我要求在TempData中存储值只是我的要求,因为我需要在另一个动作中使用TempData值。我需要另一个目的
答案 0 :(得分:4)
临时数据存储并公开object
,因此在您尝试与==
进行比较时,DateTime
无法正常工作。
您需要施放TempData公开的对象来进行比较。
也无需将字符串转换为datetime。您可以使用DateTime.MinValue
if((Datetime)TempData["FromDate"] == DateTime.MinValue)