Ajax.BeginForm正在提交禁用的表单元素

时间:2012-07-10 13:34:28

标签: asp.net-mvc asp.net-mvc-3 asp.net-ajax http-post ajax.beginform

使用MVC3和Ajax.BeginForm我惊奇地发现mvc ajax表单提交了属性disabled =“disabled”的元素。

我测试了选择和文本输入。

我很惊讶因为它们不应该被提交,并且在使用Html.BeginForm时它们不会。

是否有隐藏的选项或解决方法?

[编辑示例]

 @using (Ajax.BeginForm("Action", "Control", new AjaxOptions() { HttpMethod = "POST" }))
{

  <input type="text" name="_enabled" value="_enabled" />
  <input type="text" name="_disabled" value="_disabled" disabled="disabled" />

  <input type="submit" value="POST" />

}

Posted data

Html.BeginForm不会发布_disabled值。

1 个答案:

答案 0 :(得分:0)

您可以在其他隐藏元素中设置禁用元素值:

<input type="text" name="Id" id="Id" value="5" />

<input type="hidden" name="Id" id="Id" value="5" />

和或:

@Html.TextBoxFor(m => m.Id)
@Html.HiddenFor(m => m.Id)