【发布时间】:2019-10-13 08:39:56
【问题描述】:
我想使用 TempData 在 Test1 和 Test2 操作之间传递消息,但是当我在 Test2 的操作上读取 tempdata 的键时,TempData 键上的值为 null。我在 MDSN 上阅读了有关 TempData 的文档,这就是它所说的:
表示仅从一个请求持续到 下一个。
我的代码是:
public class TestController : Controller
{
public const string TEMP_DATA_KEY = "TEST";
public IActionResult Test1()
{
TempData[TEMP_DATA_KEY] = "ciao";
return RedirectToAction(nameof(Test2));
}
public IActionResult Test2()
{
TempData.TryGetValue(TEMP_DATA_KEY, out object saluto);
return View();
}
}
怎么了,Test1 是第一个请求 Test2 是下一个请求,为什么 TempData 为空?
谢谢你的问候
【问题讨论】:
-
您的代码可以正常工作。您希望对您的敬礼对象做什么?如果你想在 Test2 的视图上显示它,你还需要将它传递给视图 => return View(saluto);在调试时检查您的代码,您会看到 saluto 对象被实例化为“ciao”的预期内容
-
我在我的解决方案上尝试了这段代码,但它不起作用,变量 saluto 为空我的解决方案是在 aspnet core 2.2 上开发的
-
你能把你对应的View添加到问题中吗?
-
是否有任何演示可以重现您的问题?检查网络浏览器调试网络选项卡,查看是否有任何 cookie 包含
TEST -
@TaoZhou,对不起,我无法发布我的解决方案,在网络选项卡中没有任何 cookie