重定向到动作传递复杂模型
Redirect to action pass complex model
我想传递给 List 类型的 RedirectToAction 模型 属性
例如,我有这个简单的模型:
public class OrgToChooseFrom
{
public string OrgId { get; set; }
public string FullName { get; set; }
}
复杂模型如下:
public class SelectCounteragentViewModel
{
public List<OrgToChooseFrom> Counteragents { get; set; }
public OrgToChooseFrom SelectedOrg { get; set; }
}
当我使用 RedirectToAction 传递简单模型时,每个值都已到位
[HttpGet]
public IActionResult ConfirmChoice(OrgToChooseFrom vm)
{
return View(vm);
}
但是当我尝试传递复杂模型 SelectCounteragentViewModel 时,“SelectedOrg”字段为空列表和 null
[HttpGet]
public IActionResult SelectFromCAOrganizations(SelectCounteragentViewModel vm)
{
return View(vm);
}
我该怎么做?
RedirectToAction
无法通过复杂的model.You可以尝试使用TempData
作为
Kiran Joshi
said.Here 是演示:
public IActionResult Test()
{
SelectCounteragentViewModel vm = new SelectCounteragentViewModel { Counteragents = new List<OrgToChooseFrom> { new OrgToChooseFrom { OrgId ="1", FullName = "d" } }, SelectedOrg = new OrgToChooseFrom { OrgId = "1", FullName = "d" } };
TempData["vm"] = JsonConvert.SerializeObject(vm);
return RedirectToAction("SelectFromCAOrganizations", "ControllerName");
}
[HttpGet]
public IActionResult SelectFromCAOrganizations()
{
SelectCounteragentViewModel vm = JsonConvert.DeserializeObject<SelectCounteragentViewModel>(TempData["vm"].ToString());
return View(vm);
}
我想传递给 List 类型的 RedirectToAction 模型 属性
例如,我有这个简单的模型:
public class OrgToChooseFrom
{
public string OrgId { get; set; }
public string FullName { get; set; }
}
复杂模型如下:
public class SelectCounteragentViewModel
{
public List<OrgToChooseFrom> Counteragents { get; set; }
public OrgToChooseFrom SelectedOrg { get; set; }
}
当我使用 RedirectToAction 传递简单模型时,每个值都已到位
[HttpGet]
public IActionResult ConfirmChoice(OrgToChooseFrom vm)
{
return View(vm);
}
但是当我尝试传递复杂模型 SelectCounteragentViewModel 时,“SelectedOrg”字段为空列表和 null
[HttpGet]
public IActionResult SelectFromCAOrganizations(SelectCounteragentViewModel vm)
{
return View(vm);
}
我该怎么做?
RedirectToAction
无法通过复杂的model.You可以尝试使用TempData
作为
Kiran Joshi
said.Here 是演示:
public IActionResult Test()
{
SelectCounteragentViewModel vm = new SelectCounteragentViewModel { Counteragents = new List<OrgToChooseFrom> { new OrgToChooseFrom { OrgId ="1", FullName = "d" } }, SelectedOrg = new OrgToChooseFrom { OrgId = "1", FullName = "d" } };
TempData["vm"] = JsonConvert.SerializeObject(vm);
return RedirectToAction("SelectFromCAOrganizations", "ControllerName");
}
[HttpGet]
public IActionResult SelectFromCAOrganizations()
{
SelectCounteragentViewModel vm = JsonConvert.DeserializeObject<SelectCounteragentViewModel>(TempData["vm"].ToString());
return View(vm);
}