Asp.net mvc ASP MVC 5 TempData不使用重定向操作?
我的控制器中有以下临时数据:Asp.net mvc ASP MVC 5 TempData不使用重定向操作?,asp.net-mvc,session,redirect,tempdata,Asp.net Mvc,Session,Redirect,Tempdata,我的控制器中有以下临时数据: public ActionResult Index(string query = null) { TempData["message"] = string.Format("test message"); return RedirectToAction("Index", "Posts"); } 在my_layout.cshtml文件中,我有以下内容: @if (TempData["message"] !=
public ActionResult Index(string query = null)
{
TempData["message"] = string.Format("test message");
return RedirectToAction("Index", "Posts");
}
在my_layout.cshtml文件中,我有以下内容:
@if (TempData["message"] != null)
{
<div class="message">@TempData["message"]</div>
}
所以基本上,它在重定向操作上似乎不起作用。奇怪的是,它以前工作过,所以不知道突然发生了什么
有什么想法吗?在将对象分配给TempData之前,必须对其进行序列化。比如说,
AccountHolderDetails user = new AccoundHolderDetails();
TempData["UserData"] = JsonConvert.SerializeObject(user);
并通过反序列化来检索对象
var user = JsonConvert.DeserializeObject<AccountHolderDetails>(TempData["UserData"].ToString());
var user=JsonConvert.DeserializeObject(TempData[“UserData”].ToString());
您的代码看起来非常好。你在其他地方读TempData吗?@Shyju不,没有在其他地方读TempData。你找到解决方法了吗。我也有同样的问题。在web.config中添加httpcookie时似乎会发生这种情况。
var user = JsonConvert.DeserializeObject<AccountHolderDetails>(TempData["UserData"].ToString());