如何在POST上传递Url参数?
问题描述:
我有一个控制器的方法具有以下签名:如何在POST上传递Url参数?
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UpdateValues(int id, MyViewModel[] array)
{
}
的id
通常被拾取作为其他GET控制器方法(I具有执行此工作路由)的URL的一部分
我我成功地将array1
从我的视图中的表单传递给了控制器方法,但是我怎样才能将id
放到我的Url上,以便当用户单击提交按钮时,控制器方法将拾取id
?
答
id参数可能设置为可选: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) %>
您正在使用哪个版本? – Giorgi 2010-03-28 19:01:57
ASP.NET MVC 2.0 RTM – 2010-03-28 19:02:10