AJAX.BeginForm PostURL 已损坏

标签 ajax asp.net-mvc-3 razor

我在尝试使用 ASP.NET MVC3 的 Ajax.BeginForm 方法时遇到了一个奇怪的问题。表单通过正确的操作属性在页面上正确呈现。但是,当提交表单时,“OnFailure”事件返回“Not Found”404 错误。

如果我用 fiddler 观察请求,我会发现帖子 URL 是“/[Object NodeList]”,这显然是无效的。

我的 Razor 代码如下:

@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>
}

最佳答案

问题是在提交按钮上使用“action”作为名称属性。一旦我将名称属性更改为不同的值,一切就开始完美运行。

我猜测在不显眼的 ajax 库中有一个 jQuery 选择器被混淆了。

关于AJAX.BeginForm PostURL 已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8422863/

相关文章:

javascript - MVC JavaScript的window.open添加到url

jquery - 使用 asp.net mvc 3 时如何将 jQuery load() 加载到动态创建的元素中?

c# - 通过 LINQ 查询显示,不重复

asp.net-core - 是否有 Html.GetEnumSelectList<Enum>() 函数将选项的值设置为所述枚举的值?

php - 在不刷新的情况下更新页面上的数据

python - Ajax 重定向后 Django View 不呈现

javascript - inArray 无法与 ajax 响应正常工作

javascript - 多个 HTML DOM - 解析和传输数据

asp.net-mvc-3 - asp.net mvc 3 jquery 手动添加验证消息

c# - CSHTML/Razor View 的文档