将当前 View/URL 的查询字符串发送到另一个操作

Send Query String of Current View/URL to another Action

我想将当前 url 查询字符串发送到 Action,但值为空 在第二个动作中

    public ActionResult Edit(string userId) // start action
    {
        try
        {
            var userID = userId.Unprotect<int>("userId");
            return View(model: person);
        }
        catch
        {
            return HttpNotFound();
        }
    }

URL

http://localhost:25388/Home/Edit?userId=MsIJTy8Ea6ixr1E3xafN2SoUkHrXon3jcUMnlHPMaTZPW7XYma5Wqtkr9JGn4Ue8PImfNw%3D%3D

目标操作方法是:

    [HttpPost]
    public ActionResult EditSubmit(string userID, Person person) // second action
    {
        var test = Request.QueryString;
        return RedirectToAction("Index", "Home");
    }

有什么方法可以在第二个操作中接收第一个 action/url 查询字符串? (我的意思是接收 userId 的值)

userId=MsIJTy8Ea6ixr1E3xafN2SoUkHrXon3jcUMnlHPMaTZPW7XYma5Wqtkr9JGn4Ue8PImfNw%3D%3D

我通过发送当前 URL QueryString 部分和 Form submit 部分达到了我的目标 这是代码:

@using (Html.BeginForm("EditSubmit", "Home", new {userId = Request.QueryString["userId"]}, FormMethod.Post))
{
  <input type="submit" value="Save" class="btn btn-success btn-sm" />
}

这是主要部分

Request.QueryString["userId"] (inside view)