【问题标题】:call another actionresult from controller with multiple parameters netcore mvc从具有多个参数 net core mvc 的控制器调用另一个 actionresult
【发布时间】: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


    【解决方案1】:

    变化:

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

    return Bulkimport( customerId, returnMessage);
    
    ````
    

    【讨论】:

    • 谢谢。有时它可以如此简单:)
    猜你喜欢
    • 2021-09-05
    • 2016-04-30
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 2016-06-21
    • 2014-04-04
    相关资源
    最近更新 更多