如何在RedirectToAction中处理MVC String数组?

Chr*_*ris 1 asp.net-mvc

如果我有以下内容:

        [HttpPost]
        public ActionResult DeclineClaims(String button, String[] Decline)
        {
            if (button == "claim")
            {
                return RedirectToAction("NewExpense", "Claim", new { Create = Decline });
            }

            ....
            ....
        }
Run Code Online (Sandbox Code Playgroud)

并通过RedirectToAction在此处接收:

        public ActionResult NewExpense(String[] Create)
        {
            ...
        }
Run Code Online (Sandbox Code Playgroud)

第二个动作中的"创建"是一个空字符串.标准Int和字符串不会发生此问题.

我该如何处理String数组?

Dar*_*rov 8

你可以试试这个:

[HttpPost]
public ActionResult DeclineClaims(String button, String[] Decline)
{
    if (button == "claim")
    {
        var parameters = new RouteValueDictionary();
        for (int i = 0; i < decline.Length; i++)
        {
            parameters["Create[" + i + "]"] = Decline[i];
        }
        return RedirectToAction("NewExpense", parameters);
    }
    ....
    ....
}
Run Code Online (Sandbox Code Playgroud)