0

有谁知道我需要什么才能ajax.beginform在我的 MVC4 项目中工作?我将 jQuery 库更新到第 2 版,并且包含了jquery.validate.jsandjquery.validate.unobtrusive.js但表单仍在发布到新页面,而不仅仅是更新UpdateTargetId元素

我有一个谷歌,很多人似乎对一个名为的脚本有问题,Microsoft.jQuery.Unobtrusive.Ajax但这不在我的项目中。我是否需要安装它,如果需要,我是否需要进行查找和替换live以便它使用on

这是表单代码:

@using (Ajax.BeginForm("AddImage", "Quote", FormMethod.Post, new AjaxOptions { UpdateTargetId = "Files" }, new { enctype = "multipart/form-data" }))
{
}

这将发布到报价控制器 addimage 操作,所做的只是在屏幕上写出一个字符串(应该出现在Filesdiv 中),但实际上不是进行 ajax 调用,而是转到 Quote/AddImage 页面

4

2 回答 2

1

最后我所要做的就是jquery.unobtrusive-ajax.js通过nuget下载最新的。这已更新,因此它适用于 jquery 2

于 2013-07-15T09:00:51.003 回答
0

首先,您的 AjaxOptions 中缺少 InsertionMode。

其次,您似乎正在尝试使用 Ajax 表单上传文件?你将无法做到。例如,请参阅这篇文章

最后,Ajax.BeginForm 正在使用 jQuery.live() 函数,该函数已从 jQuery 版本 1.9 中删除。有关更多信息,请参阅此问题

您应该安装jQuery Migrate 插件,它将恢复已弃用的功能。这至少会恢复您的 Ajax 表单功能。唉,它不会帮助您通过 Ajax 上传文件。但这是一个不同的话题。

于 2013-07-12T20:19:49.790 回答