如何在POST上传递Url参数?

时间:2010-03-28 18:58:33

标签: c# asp.net-mvc asp.net-mvc-2

我有一个带有以下签名的控制器方法:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UpdateValues(int id, MyViewModel[] array)
{
}

id通常作为其他GET控制器方法的Url的一部分被选中(我有一条工作路线可以做到这一点)

我已成功将array1从我的视图中的表单传递给控制器​​方法,但如何将id放到我的Url上,以便在用户点击提交时按钮,控制器方法将选择id

1 个答案:

答案 0 :(得分:1)

id参数可能设置为optional:ASP.NET MVC 2 Optional URL Parameters,这是ASP.NET MVC 2中的默认值,因此如果没有名为“id”的表单元素,则不会传递它。

只需将您需要的参数作为表单的一部分而不是Url的一部分传递,如:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UpdateValues(int UserID, MyViewModel[] array)
{
}

并在您看来:

<%= Html.Hidden("userID", Model.UserID) %>