【问题标题】:Ho to execute action without change current page?如何在不更改当前页面的情况下执行操作?
【发布时间】:2019-11-22 20:23:08
【问题描述】:

我想在不更改当前页面的情况下将所选项目添加到控制器中的会话。

<form>
@Html.HiddenFor(m => m.Id)
    @Html.HiddenFor(m => m.Title)
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title">@Model.Title</h4>
        </div>
        <div class="modal-body">
            <ul class=" check-list" id="GroupFeatures">
                @{

                    for (int i = 0; i < Model.GroupFeatures.Count; i++)
                    {
                        @Html.HiddenFor(m => m.GroupFeatures[i].Id)
                        <li><span> @Model.GroupFeatures[i].Title </span> @Html.DropDownListFor(m => m.GroupFeatures[i].Value, new SelectList(Model.GroupFeatures[i].Features, "Id", "Title"), new { @class = "form-control" })</li>
                    }
                }
            </ul>
        </div>
        <div class="modal-footer">
            <button id="submit" class="btn btn-default "  >ثبت</button>

        </div>
    </div>
</form>

在脚本中。

$(document).on('click', '#submit', function () {
var data = $('form').serialize();

$.getJSON("/store/MakeMyFavorite", data, function (data) {
    //check your data here what it is returning
    if ($.trim(data) == "favorite") {
        alert('s');
    }
});

});

在控制器中。

public JsonResult MakeMyFavorite(ProductFeatureViewModel model)
    {
       string result = "favorite";
        return this.Json(result, JsonRequestBehavior.AllowGet);
    }

但将网址更改为/Store?__RequestVerificationToken=526Wd9OvHI89rwGrRuCgzgDhAGloEuZkOLSdoQFTELZcLQliMMWlc8AeMn3DS4Sfy5-k8xr2tavkno-2aNBjIyJXR4c8T9PmNSs-KlUNITo1&amp;Id=1&amp;Title

【问题讨论】:

  • “不改变当前页面”是什么意思?
  • 当我使用此代码时,将页面发回新网址。

标签: jquery html asp.net json ajax


【解决方案1】:

您需要在提交时停止表单的正常行为,即对服务器进行完整的回发。

为此,您可以使用浏览器引发的事件的 preventDefault() 函数:

$(document).on('click', '#submit', function (event) {
    event.preventDefault();
    //...etc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 2012-06-02
    • 2014-01-17
    • 2013-07-23
    • 2022-07-12
    • 1970-01-01
    相关资源
    最近更新 更多