0

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

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

我很惊讶,因为他们不应该submited,他们不会在使用Html.BeginForm时。

有没有一些隐藏的选项或解决方法呢?

[EDIT示例]

@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值。

+0

我只是测试,他们不会被提交。可能你需要发布一些代码。 – VJAI 2012-07-10 14:50:08

+0

添加示例 – Fiffe 2012-07-10 15:13:44

+0

什么是HTTP日志查看器?我从来没有使用过。我检查了Firefox和IE的东西工作正常。 – VJAI 2012-07-10 15:32:45

回答

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)