首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Html.RenderPartial和Ajax.BeginForm -> Submit被调用两次

Html.RenderPartial和Ajax.BeginForm -> Submit被调用两次
EN

Stack Overflow用户
提问于 2013-02-23 22:24:26
回答 2查看 13.6K关注 0票数 17

我有以下索引视图:

代码语言:javascript
运行
复制
@model BoringStore.ViewModels.ProductIndexViewModel
@{
    ViewBag.Title = "Index";
}

<h2>Produkte</h2>

<div id='addProduct'>
    @{ Html.RenderPartial("Create", new BoringStore.Models.Product()); }
</div>

<div id='productList'>
    @{ Html.RenderPartial("ProductListControl", Model.Products); }
</div>

"productList“只是所有产品的列表。

addProduct将呈现我的创建视图:

代码语言:javascript
运行
复制
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<div id="dialog-confirm" title="Produkt hinzufügen" style="display:none">
@using (Ajax.BeginForm("Index_AddItem", new AjaxOptions { UpdateTargetId = "productList" }))
{ 
    @Html.Raw(DateTime.Now.ToString());

    <div>
        @Html.LabelFor(model => model.Name)
        @Html.EditorFor(model => model.Name)
    </div>
    <br />
    <div>
        @Html.LabelFor(model => model.Price)
        @Html.EditorFor(model => model.Price)
    </div>
    <br /><br />
    <div>
        <input type="submit" value="Produkt hinzufügen" />
    </div>
}

当提交表单时,我的控制器中的Index_AddItem-method被调用。不幸的是,表单总是调用该方法两次。:(

有人能帮帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-23 22:34:30

不要在你的局部视图中包含脚本!他们应该去你的“主”视图或你的_layout.cshtml

您的问题是您在页面中包含了两次jquery.unobtrusive-ajax.min.js。一次在您的Create partial中,一次在其他地方。因为如果您多次包含该脚本,它将多次订阅submit事件,因此您将通过一次单击获得多个submit。

因此,请确保在一个页面中只包含了一次脚本。因此,将jquery.unobtrusive-ajax.min.js引用移动到索引视图中。

票数 48
EN

Stack Overflow用户

发布于 2020-07-20 19:16:27

确保您没有在布局中复制如上所述的jquery.unobtrusive-ajax.min.js文件,您可以使用浏览器检查器进行检查

我遇到的另一个可能导致此错误的问题是在ajax请求中使用jquery休眠表单,如下所示

代码语言:javascript
运行
复制
$("form").trigger("reset"); //just remove this line
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15041540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档