javascript - 如何防止beginform asp.net mvc中的回发

标签 javascript asp.net-mvc

在我看来,我有一个开始表单,它有两个按钮,一个用于保存,一个用于取消。单击“保存”时,它会验证表单控件中客户端和服务器端的数据并回发到 Controller 。问题是当我单击“保存”或“取消”时,它会尝试验证数据并显示验证摘要。但是,我想在单击取消按钮时阻止回发和验证。在取消按钮中,我调用一个名为 Cancel() 的 javascript 函数,该函数调用 window.history.back(-1);它仍在尝试回发。以下是我的代码。如果我将取消按钮移出表单,那么它不会进行回发,但样式会变得困惑,因为我希望保存和取消按钮并排

 <div id="updateusercreds" class="items">
                    @using (Html.BeginForm("SaveCustomer", "NewCustomer"))
                    {
                     <div>
                        @Html.LabelFor(x => x.Address.Email)
                        <span>
                            @Html.Kendo().TextBoxFor(model => model.Address.Email)
                        </span>
                    </div>
                    <div>
                    @Html.LabelFor(x => x.Address.Company)
                    <span>
                        @Html.Kendo().TextBoxFor(model => model.Address.Company)
                    </span>
                    </div>

                    <div>
                        @Html.LabelFor(x => x.Address.StreetAddress1, "Street Address")
                        <span>
                            @Html.Kendo().TextBoxFor(model => model.Address.StreetAddress1)
                            <br/>
                            @Html.Kendo().TextBoxFor(model => model.Address.StreetAddress2)
                        </span>
                    </div>

                    <div>
                    @Html.LabelFor(x => x.Address.Fax)
                    <span>
                        @Html.Kendo().TextBoxFor(model => model.Address.Fax)
                    </span>
                    </div>
                    @Html.ValidationSummary()
                    @Html.TradeUI().NotificationSummary()

                    <div class="tti-actions">
                        <button type="submit">Save</button> 
                        <button onclick="javascript:Cancel();">Cancel</button>                             
                    </div>
                    }

                </div>

最佳答案

将按钮类型设置为按钮

<button type="button" onclick="javascript:Cancel();">Cancel</button>

关于javascript - 如何防止beginform asp.net mvc中的回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30764596/

相关文章:

c# - 在 Entity Framework 中排除所有(启用延迟加载)

c# - 如何更改站点的 IIS Express 端口

jquery - 从 C# 代码转移到 html/css/jquery 时出现拖延

mysql - 使用 MSSQL 和 MySQL 数据库作为 Entity Framework 6 模型

javascript - 为什么我在 Node 的 HTTP 服务器上收到这么多连接事件?

javascript - 使用 Math.random() 和 .css 的 jQuery/JS 随机图像定位?

javascript - 如何使用正则表达式从字符串中删除带有 HTML 标签的 HTML 标签的内部文本?

javascript - CSS 样式属性名称——从常规版本到 JS 属性驼峰命名版本,反之亦然

javascript - 为什么在网络浏览器中用作字符串时失败说 d3 未定义

c# - 使用 dotnetzip 压缩文件,打开时文件已损坏