RedirectToAction TempData is NULL



我正在使用TempData来存储Register方法中所需的ViewModel。

我的RedirectToAction代码片段-显示将ViewModel添加到TempData

TempData.Put("Email", verificationResponse.Email);
TempData.Put("Phone",verificationResponse.Phone);
RegisterViewModel rvm = new RegisterViewModel
{
PolicyID = vm.PolicyID,
FirstName = vm.FirstName,
LastName = vm.LastName,
DOBMM = vm.DOBMM,
DOBDD = vm.DOBDD,
DOBYYYY = vm.DOBYYYY,
ZipCode = vm.ZipCode,
ReturnUrl = vm.ReturnUrl,
EnableRegister = true,
Email = verificationResponse.Email, 
Username = verificationResponse.Email
};
TempData.Put("rvm", rvm);

return RedirectToAction("Register", "Auth");

但当我访问Register中的TempData时,它是空的。

[HttpGet]
public IActionResult Register()
{
RegisterViewModel rvm = TempData.Get<RegisterViewModel>("rvm");
TempData.Keep("rvm");
return View(rvm);
}

确保不要在TempData中存储空字符串!!!您可能认为这只是一个键/值对的问题。不是!整个TempData为null。

我的问题是这行TempData.Put("Email", verificationResponse.Email);verificationResponse.Email是一个空字符串,它导致Register方法中的TempData为null。

花了太多时间查看这个bug。

相关内容

  • 没有找到相关文章

最新更新