TempData используется только для одного перенаправления. Чтобы сохранить данные от другого действия после обновления, вы можете использовать Session
для его достижения.
Чтобы использовать Session в ядре mvc, вам нужно добавить следующие коды в файл starup.cs:
- Добавить
services.AddSession();
в метод ConfigureServices. - Добавьте
app.UseSession();
в методе Configure.
Чтобы сохранить сложный объект в сеансе, вы можете преобразовать объект списка в формат json для хранения, а затем десериализовать его в объект списка, когда вы его получите.
HttpContext.Session.SetString("PaymentTypes", JsonConvert.SerializeObject(pamentTypeList));
Ежедневное действие:
//.....
daily.PaymentTypes = HttpContext.Session.GetString("PaymentTypes") == null ? DGetPaymentTypes() : JsonConvert.DeserializeObject<List<Daily.PaymentType>> (HttpContext.Session.GetString("PaymentTypes"));