【发布时间】:2021-02-17 08:30:45
【问题描述】:
我的控制器中有一个方法 (MethodA),它需要在同一个控制器中返回另一个 ActionResult (methodB),并带有一些参数作为有效负载。为此,我在 MethodA 的末尾使用了RedirectToAction(nameof(methodB), new { param1=param1, param2=param2 } )。
当我调试时,所有参数都已加载并包含预期值。但是当它到达methodB时,两个参数都是空的。
方法A
[HttpPost]
public ActionResult Bulkimport(int id)
{
int customerId = 5;
ReturnModel returnMessage = new ReturnModel();
returnMessage.Message= "All data loaded";
returnMessage.returnModel = returnModel; //contains list with some data
return RedirectToAction(nameof(Bulkimport), new { id = customerId, model = returnMessage });
}
方法B
[HttpGet]
public ActionResult Bulkimport(int id, MessageModel model)
{
// Do stuff, but MessageModel and id are null.
return View();
}
有人知道这里会发生什么吗? 附加:我有一些经验,附加参数在接收视图中显示为浏览器中 url 中的查询字符串。有什么办法可以预防吗?
谢谢
【问题讨论】:
标签: c# asp.net-mvc asp.net-core redirect asp.net-core-2.0