c# - 如何在 POST 上传递 Url 参数?

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

我有一个具有以下签名的 Controller 方法:

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

id 通常在其他 GET Controller 方法上作为 Url 的一部分被拾取(我有一个工作路线可以做到这一点)

我成功地将 array1 从我 View 中的表单传递到 Controller 方法,但是我如何将 id 放到我的 Url 上,以便当用户单击提交按钮, Controller 方法将获取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) %>

关于c# - 如何在 POST 上传递 Url 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2534110/

相关文章:

C#、Windows 窗体、最适合/最适合内容的窗口

mysql - MVC2 MySQL 托管问题?

c# - 我如何有条件地启用或禁用 [​​RequireHttps]

c# - 如何在 C# 中生成 "system modal dialog"?

c# - 如何通过 renderpartial 将两个变量传递给控件?

c# - 关于使用 ConcurrentDictionary 的一些问题

c# - IdMemberMap 为 null 使用 "Representation Serialization Options"

c# - 如何在 Controller 中模拟 Automapper (IMapper)

c# - 如何识别从其他地方返回我的 ASP.NET MVC 站点的用户?

c# - TextBoxFor 呈现为带有 ID 属性前缀的 HTML