使用多个参数从控制器调用另一个动作结果 net core mvc

call another actionresult from controller with multiple parameters netcore mvc

我的控制器中有一个方法 (MethodA) 需要 return 同一控制器中的另一个 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 中的查询字符串。有什么办法可以预防吗?

谢谢

变化:

return RedirectToAction(nameof(Bulkimport), new { id = customerId, model = returnMessage });

return Bulkimport( customerId, returnMessage);

````