Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax.begin';不能正确地张贴_Ajax_Asp.net Mvc 3_Post_Razor - Fatal编程技术网

Ajax.begin';不能正确地张贴

Ajax.begin';不能正确地张贴,ajax,asp.net-mvc-3,post,razor,Ajax,Asp.net Mvc 3,Post,Razor,我有一个似乎无法满足的简单要求:我有一个产品页面。产品有供应商,供应商输入是带有自动完成的文本字段。如果用户输入了数据库中不存在的供应商,我需要添加它。要添加它,我在页面上有一个DIV,I.load()调用my/Vendor/Create controller方法。该方法的视图使用: @using (Ajax.BeginForm("Create", "Vendor", new AjaxOptions { UpdateTargetId = ViewBag.TargetId, H

我有一个似乎无法满足的简单要求:我有一个产品页面。产品有供应商,供应商输入是带有自动完成的文本字段。如果用户输入了数据库中不存在的供应商,我需要添加它。要添加它,我在页面上有一个DIV,I.load()调用my/Vendor/Create controller方法。该方法的视图使用:

@using (Ajax.BeginForm("Create", "Vendor", new AjaxOptions {
     UpdateTargetId = ViewBag.TargetId,
     HttpMethod = "Post", 
     OnSuccess="VendorCreated", 
     OnComplete="alert('success')"
})) {
它应该通过ajax发布我的表单,完成后调用Javascript。我遇到的问题是,在提交时,我的整个页面都会被刷新,这样当我开始使用/Product/Create时,我就会使用/Vendor/Create。此外,不会调用OnSuccess或OnComplete


我在这里做错了什么?

请确保在页面中包含以下脚本:

jquery-1.5.1.js
jquery.unobtrusive-ajax.js
在web.config中启用了不引人注目的javascript:

<add key="UnobtrusiveJavaScriptEnabled" value="true" />


哦。。。我懂了。我的项目有-1.4.4,我没有jquery.unobtrusive-ajax.js,但我有一个MicrosoftAjax.js和MicrosoftMvcAjax.js。。。它们是同一件事吗?我看了两个文件,但都不包含一个。。。一个相关的问题:我读到使用CDN是一件好事,但这意味着脚本文件夹中没有脚本。有没有一种方法可以让脚本看起来像是在您的项目中,但实际上它们只是从CDN中获取的?@ekkis,您可以安全地从ASP.NET MVC 3项目中删除
MicrosoftJAX.js
MicrosoftMvcAjax.js
。默认情况下,ASP.NET MVC 3使用jQuery。因此,只保留我在回答中提到的两个脚本(您可以用实际使用的版本替换jquery-1.5.1.js),并在web.config中启用不引人注目的javascript。