可能重复:
将数据从动作传递到另一个动作
我有一个视图,我在其中提交表单,并根据我想要重定向到操作的结果。与 action 对应的视图是强类型的,它应该接受 ResultsViewModel。
我正在尝试使用 T4MVC 传递 ResultsViewModel。
下面是代码:
[HttpPost]
public virtual ActionResult AddEntity(string viewModel)
{
//Deserialize using Json.NET
var entity = JsonConvert.DeserializeObject<MyEntity>(viewModel);
var success = DoSomething(); //returns boolean
if(success)
{
var result = new ResultsViewModel { MyEntity = entity, MessageId = 1};
return RedirectToAction(MVC.MyController.ResultsPage(result));
}
var result = new ResultsViewModel { MyEntity = entity, MessageId = 2};
return RedirectToAction(MVC.MyController.ResultsPage(result));
}
public virtual ActionResult ResultsPage(ResultsViewModel viewModel)
{
return View(viewModel);
}
当代码到达
public virtual ActionResult ResultsPage(ResultsViewModel viewModel)
{
return View(viewModel);
}
viewModel 始终等于 null。
我知道我可以做这样的事情:
return RedirectToAction("ResultsPage", new { viewModel = result });
编辑:我尝试了 return RedirectToAction("ResultsPage", new { viewModel = result }); 而且我的viewModel中也有一个空值。
但是我试图弄清楚为什么/如何使用 T4MVC 传递对象。
谢谢,