我正在使用 c#.NET MVC2,并尝试创建一个 ajax 表单来调用删除数据库记录 (RemoveRelation) 的方法。删除记录的过程正在按预期进行。
删除记录后,表单应调用一个 JavaScript 函数,从视觉效果中删除该记录 (RemoveRelation(10))。这是通过 AJAX 调用完成的,在 Internet Explorer 9 和 Firefox 4 上都按预期工作,但在 Chrome 上,由于某种原因,更新没有通过 AJAX 调用进行,并且当删除记录的表单正在刷新时,整个页面都会刷新。提交(这是不正确的,因为表单应该是使用 AJAX 功能生成的)。这是我用来生成表单的代码:
<% using (Ajax.BeginForm("RemoveRelation", "Relations",
new AjaxOptions { OnSuccess = "function() { RemoveRelation(10); } ", InsertionMode = InsertionMode.Replace, UpdateTargetId = "Relation10" },
new { id = "DeleteForm10" }))
{ %>
另外,在 Chrome 上,我还有一个与单独的 Ajax.BeginForm 相关的问题。
<% using (Ajax.BeginForm("AddRelation", "Relations", new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "AddRelation" }, new { id = "AddRelationForm" }))
{ %>
上面的 Begin Form 代码用于将关系添加到列表中,而不是删除它们。我再次强调,在 IE9 和 FF4 上,上述内容按预期工作,在 chrome 上,不是添加一条记录并通过 ajax 更新,而是添加记录两次,并再次刷新整个页面,而不是进行 ajax 更新。
为什么这在 Chrome 中会崩溃?