2010-03-28 169 views
2

我有一个控制器的方法具有以下签名:如何在POST上传递Url参数?

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

id通常被拾取作为其他GET控制器方法(I具有执行此工作路由)的URL的一部分

我我成功地将array1从我的视图中的表单传递给了控制器方法,但是我怎样才能将id放到我的Url上,以便当用户单击提交按钮时,控制器方法将拾取id

+0

您正在使用哪个版本? – Giorgi 2010-03-28 19:01:57

+0

ASP.NET MVC 2.0 RTM – 2010-03-28 19:02:10

回答

1

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) %>