Мне нужно сохранить свой IEnumerable объектов в Tempdata для моего следующего запроса с сервера.Так как Tempdata не может хранить Объекты, я нашел метод расширения ниже, чтобы сериализовать и десериализовать перед помещением в Tempdata.После этого метода я могу сохранить свой объект в Tempdata.Но, когда я пытаюсь использовать его в своем следующем методе действия, я сталкиваюсь со следующей ошибкой во время выполнения.Msgstr "Невозможно десериализовать текущий массив JSON".Пожалуйста, помогите мне решить эту проблему.
мой код:
public ActionResult GetData(){
List<EmployeeViewModel> webform =
_service.GetListOfWebformData(id).ToList();
TempData.Put("webform", webform); }
public ActionResult ShowData(){
var WebformData = TempData.Get<EmployeeViewModel>("webform");
return View(WebformData);}
Метод расширения, который я использовал для Tempdata, ниже
public static class TempDataExtensions
{
public static void Put<T>(this ITempDataDictionary tempData, string key, T value) where T : class
{
tempData[key] = JsonConvert.SerializeObject(value);
}
public static T Get<T>(this ITempDataDictionary tempData, string key) where T : class
{
object o;
tempData.TryGetValue(key, out o);
return o == null ? null : JsonConvert.DeserializeObject<T>((string)o);
}
}