AJAX.BeginForm PostURL被破坏了

jbr*_*ken 8 ajax razor asp.net-mvc-3

我在尝试使用ASP.NET MVC3的Ajax.BeginForm方法时遇到了一个奇怪的问题.表单在页面上正确呈现,具有正确的操作属性.但是,提交表单时,"OnFailure"事件返回"未找到"404错误.

如果我用fiddler观察请求,我看到帖子URL是"/ [Object NodeList]",这显然是无效的.

我的剃刀代码如下:

@using (Ajax.BeginForm("Save", "Items", new AjaxOptions { UpdateTargetId = "itemContainer", InsertionMode = InsertionMode.Replace, OnFailure = "onFailure"}))
{
    <div style="position:absolute; bottom:20px; left:200px;">
        <button type="submit" id="Save" name="action" value="Save">Save</button>
        <button type="submit" id="Cancel" name="action" value="Cancel">Cancel</button>
    </div>
}
Run Code Online (Sandbox Code Playgroud)

jbr*_*ken 12

问题是在提交按钮上使用"action"作为name属性.一旦我将name属性更改为不同的值,一切都开始完美.

我猜测在不显眼的ajax库中有一个jQuery选择器让人感到困惑.

  • 谢谢!在很长一段时间内,我对这个同样的问题嗤之以鼻. (3认同)