gpt4 book ai didi

javascript - 调用操作方法,关闭对话框并刷新父级

转载 作者:行者123 更新时间:2023-12-03 10:43:04 27 4
gpt4 key购买 nike

由于我是 MVC5 的新手,所以我的想法可能是错误的。

我有一个 CustomerInfo.cshtml View ,其中列出了 CustomerContacts。他们旁边是一个“+”图标,该图标将打开一个对话框窗口并允许他们添加新的 CustomerContact。

在对话框打开时,我调用 CustomerContactController Create GET 方法(将 customerId 传递给我的模型并将其传递给 View )。

保存时,我调用 CustomerContactController Create POST 方法设置值并保存到数据库。

此时,如何关闭对话框窗口并刷新父 CustomerInfo.cshtml 页面,以便新联系人将显示在列表中。所有的 Action 方法都要求我返回一些东西。

我从 CustomerInfo.cshtml View 中打开对话框,如下所示:

@(Html.Kendo().Window()
.Name("windowContact")
.Title("New Customer Contact")
.LoadContentFrom("Create", "CustomerContact", new { customerId = Model.Id })
.Draggable()
.Width(680)
.Visible(false)
.Events(events => events.Open("centerWindow"))
)

在对话框窗口中我有一个 Razor 表单。这是对话框的底部:

            <input type="submit" value="Save" id="btnSave" class="btn btn-primary" />
<input type="button" value="Cancel" id="btnCancel" class="btn btn-default" />
}

<script>
$("#btnCancel").click(function () {
$("#windowContact").data("kendoWindow").close();
});
</script>

这是我当前正在做的事情,它带我返回到 CustomerInfo View ,但进行了刷新。是使用 AJAX 顺利完成此操作的唯一方法吗?

return RedirectToAction("CustomerInfo", "Customer", new { id = custContact.CustomerId });

最佳答案

通过 jQuery Ajax 发布 Create view 的表单数据。喜欢:

$.ajax({
url: '/Create/CustomerContact',
type: 'post',
contentType: "application/x-www-form-urlencoded",
data: $form.serialize(),
success: function (data, status) {
// here close the window and refresh parent
// if your new window is opened in iframe
window.parent.location.reload();
$("#windowContact").data("kendoWindow").close();

// if your new window is opened by window.open() method.
window.opener.location.reload();
self.close();
},
error: function (xhr, desc, err) {
alert("Desc: " + desc + "\nErr:" + err);
}
});

希望它对你有用,谢谢。

关于javascript - 调用操作方法,关闭对话框并刷新父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28689226/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com