RouteValues不使用查询字符串?

时间:2013-06-14 21:24:26

标签: asp.net-mvc web-applications

我有一个通过Razor生成的表单:

using (Ajax.BeginForm("SaveProfile", "Settings", new { AccountID = Model.AccountID },
    new AjaxOptions { HttpMethod = "Post" }))

RouteValues对象new { AccountID = Model.AccountID }被推入查询字符串,即使我没有在项目的任何地方指定这样做。

如何将这些值传递给我的控制器操作而不让它们显示在URL中?

1 个答案:

答案 0 :(得分:2)

MVC模型绑定将识别查询字符串表单(post)变量传递的值。

因此,您可以在表单中包含隐藏的输入,其中var名称为name属性,值为value属性:

@Html.HiddenFor(model => model.AccountID)