TempData 不显示结果视图并返回 null

TempData not showing resultview and returning null

我在 TempData 上存储值时遇到问题,实际上我正在学习 TempData 的行为并尝试使用来自各种 sites.Here 的一些可行示例是问题:我在保存的一些 linq 操作后打开我的上下文文件它到我的变量,我使用断点来检查数据,但数据不在 TempData 中。谁能告诉我数据将存储在哪里,以便我可以使用 Visual studio.Below 的断点检查它是我的代码

public ActionResult Index()
{
     ReadContext db = new ReadContext();

      var lst = (from p in db.data1
                   join f in db.data2
                   on p.ID equals f.ID
                   select new
                   {
                       Sr = p.Sr,
                       Group = p.Group,
                       ID=p.ID,

                       CompanyName = f.CompanyName
                   }).ToList()
                   .Select(x => new dataViewModel()


                   {
                       ID=x.ID,
                       Sr = x.Sr,
                       Group = x.Group,

                       CompanyName = x.CompanyName
                   });
        TempData["l1"] = lst;
        return View(lst);
    }

包括图像输出(Var 的第一个检测点)![1]:https://imgur.com/osY345F
TempData 上的第二个断点 ![2]:https://imgur.com/5oIDN9e 向我显示空值位于 TempData 上。我需要做什么才能在断点中看到值。

默认的 TempData 提供程序使用 cookie。为了在 TempData 中存储对象,您需要先将其序列化。

TempData["l1"] = JsonConvert.SerializeObject(lst); //using Newtonsoft.Json;

应尽量减少存储在 TempData 中的数据量。我建议只存储一个 ID 列表,而不是将整个记录存储在 TempData 中。

Does the application use TempData only sparingly, for relatively small amounts of data (up to 500 bytes)? If so, the cookie TempData provider will add a small cost to each request that carries TempData. If not, the session state TempData provider can be beneficial to avoid round-tripping a large amount of data in each request until the TempData is consumed.

[Introduction to session and application state in ASP.NET Core][https://docs.microsoft.com/en-us/aspnet/core/fundamentals/app-state?tabs=aspnetcore2x#tempdata]

 var lst = (from p in db.data1
                   join f in db.data2
                   on p.ID equals f.ID
                   select new
                   {
                       Sr = p.Sr,
                       Group = p.Group,
                       ID=p.ID,

                       CompanyName = f.CompanyName
                   }).ToList()
                   .Select(x => new dataViewModel()


                   {
                       ID=x.ID,
                       Sr = x.Sr,
                       Group = x.Group,

                       CompanyName = x.CompanyName
                   }).ToList();