一尘不染

Ajax.BeginForm不能正确发布

ajax

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

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

我在这里做错了什么?


阅读 206

收藏
2020-07-26

共1个答案

一尘不染

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

jquery-1.5.1.js
jquery.unobtrusive-ajax.js

并在web.config中启用了简洁的javascript:

<add key="UnobtrusiveJavaScriptEnabled" value="true" />
2020-07-26