TempData 不携带第二个动作的数据

问题描述 投票:0回答:2

我有一个局部视图并用这个代码块填充我的 TempData。 serviceResponsecont 是一个列表。

TempData["partialResponseList"] = serviceResponseCont;

在 PartialView 之后,我调用了同一个控制器并尝试像这样获取相同的数据。

serviceResponseCont = TempData["partialResponseList"] as List<CadetTest.Controllers.HomeController.cont>;

但它在第二篇文章中返回 null。我必须携带此列表,但 tempdata 在这方面没有帮助。我该如何修复它或者有什么解决方案吗?

c# asp.net-core-mvc viewbag tempdata
2个回答
0
投票

TempData 用于存放临时数据

TempData 本身不能用于将数据从 View 发送到 Controller

TempData 还用于将模型/控制器数据传输到视图和其他操作/控制器

还有其他方法可以将 Tempdata 从视图传输到控件

例子

例子3 ExampleWithJquery


0
投票

ASP.net razor views 和 razor pages 只是 html 渲染器的 template。这意味着剃刀语法中的代码将全部转换为 html。它不会到达客户。

如果您想自己查看,只需查看浏览器的开发工具并查看客户端从服务器收到的网络选项卡:那里没有

TempData

即尽管可以修改 C# 变量的值,例如

TempData
连接剃刀语法,它仍然只在 html 生成期间使用 before 它被发送到客户端。

如果您希望客户端将数据发送回服务器,您需要另一种机制,如 html 表单

由于您没有详细说明要寄回什么以及何时寄回,我们无法根据您的情况举例。

© www.soinside.com 2019 - 2024. All rights reserved.