假设我有2页
预订
public async Task<IActionResult> OnPost()
{
...
List<string> pageList = new List<string>();
pageList.Add(Path.GetFileName(Request.Path));
TempData["StackList"] = pageList;
return Page();
}
修改
public async Task<IActionResult> OnGetAsync(int? id)
{
...
var list = TempData["StackList"] as List<string>;//<<Problem
...
return Page();
}
施展List<string>
这是我到目前为止的尝试:
尝试将普通字符串保存到TempData。我可以正常恢复。
尝试使用`(List)TempData [&#34; StackList&#34;]。仍然无效。
保存后,我进入下一行。我可以正常检索它。
如果我没有施展它。var list = TempData["StackList"]
我可以得到它但不能使用它,因为它不知道它是什么类型。
我尝试创建一个新的清洁项目并重现它。问题仍然存在。
任何人都可以给我一些建议,如果我施展它,为什么我总是得到null? 我现在的解决方案是将列表保存到Json中并将其保存回List。
我看到阅读官方文档,挖掘其他相关帖子和教程博客。我通常应该这样做。 或者可能是因为我的MS Visual Studio社区2017破了还是什么? 我目前正在使用.net core 2.0。
答案 0 :(得分:0)
必须看这个链接 我希望它有助于理解TempData的范围和边界
what is the scope and visibility of TempData in ASP.NET MVC?