我使用TempData来存储寄存器方法中的一个所需的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");但是,当我在注册表中访问TempData时,它是空的。
[HttpGet]
public IActionResult Register()
{
RegisterViewModel rvm = TempData.Get<RegisterViewModel>("rvm");
TempData.Keep("rvm");
return View(rvm);
}发布于 2022-08-17 16:02:07
确保您没有在TempData中存储空字符串!您可能会认为这只是一个键/值对的问题。不是的!整个TempData为空。
我的问题是这行TempData.Put("Email", verificationResponse.Email);,verificationResponse.Email是一个空字符串,它导致TempData在Register中为空。
花了太多时间看这个虫子。
https://stackoverflow.com/questions/73391598
复制相似问题