ASP.NET Core应用程序,如何在`TempData`临时数据存储器中存储复杂的数据类型(对象)呢?
1.71K 次浏览
如题,在ASP.NET Core应用程序中,如何在TempData
临时数据存储器中存储复杂的数据类型(对象)呢?
比如,在一个控制器中,需要数据模型验证失败后,把失败信息对象存储在TempData["ErrorMessages"]
中,如下:
if (!ModelState.IsValid)
{
TempData["ErrorMessages"] = ModelState;
return RedirectToAction("Product", "ProductDetails", new { code = model.ProductCode });
}
但在程序运行到此处时,会抛出如下的异常:
‘System.InvalidOperationException The Microsoft.AspNet.Mvc.SessionStateTempDataProvider’ cannot serialize an object of type ‘ModelStateDictionary’ to session state.’
那么,应该如何实现在TempData
临时数据存储器中存储复杂的数据类型(对象)呢?