使用局部视图填充 Kendo 对话框
Populate a Kendo dialog with partial view
我有一个 kendo dialog
,我想用 partial view
填充它,但它有点不起作用。
我想通过单击按钮来填充对话框,所以这是我目前的代码
<div id="dialog"></div>
function showDetails(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
var dialog = $("#dialog");
console.log("objId", dataItem.OBJECTID1)
$.ajax({
url: '@Url.Action("SavePartial", "SettlementContract")',
data: {
id: dataItem.OBJECTID1
},
success: function (result) {
if (result != null) {
dialog.html(result);
dialog.data("kendoDialog").open();
}
}
});
}
我尝试删除 success
中的 if
条件以防万一,但它也不起作用。它 returns 部分视图,但不在 kendo dialog
内部,甚至不会打开对话框。我做错了什么?
我们在我们的应用程序中这样做,这就是我们设置它的方式(我更新它以使用您的 controller/actions/ids)- 这是使用 ASP.NET 核心 MVC 包装器:
@(Html.Kendo().Window()
.Name("dialog")
.Content("loading...")
.Draggable()
.Actions(actions => actions.Maximize().Close())
.Resizable()
.Modal(true)
.Visible(false)
.Events(e => e.Refresh("onDialogWindowRefresh"))
)
<script>
function showDetails(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
let win = $("#dialog").data("kendoWindow");
win.refresh({
url: "/SettlementContract/SavePartial/",
data: {
id: dataItem.OBJECTID1
}
});
}
function onDialogWindowRefresh(e) {
e.sender.center().open();
}
</script>
我有一个 kendo dialog
,我想用 partial view
填充它,但它有点不起作用。
我想通过单击按钮来填充对话框,所以这是我目前的代码
<div id="dialog"></div>
function showDetails(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
var dialog = $("#dialog");
console.log("objId", dataItem.OBJECTID1)
$.ajax({
url: '@Url.Action("SavePartial", "SettlementContract")',
data: {
id: dataItem.OBJECTID1
},
success: function (result) {
if (result != null) {
dialog.html(result);
dialog.data("kendoDialog").open();
}
}
});
}
我尝试删除 success
中的 if
条件以防万一,但它也不起作用。它 returns 部分视图,但不在 kendo dialog
内部,甚至不会打开对话框。我做错了什么?
我们在我们的应用程序中这样做,这就是我们设置它的方式(我更新它以使用您的 controller/actions/ids)- 这是使用 ASP.NET 核心 MVC 包装器:
@(Html.Kendo().Window()
.Name("dialog")
.Content("loading...")
.Draggable()
.Actions(actions => actions.Maximize().Close())
.Resizable()
.Modal(true)
.Visible(false)
.Events(e => e.Refresh("onDialogWindowRefresh"))
)
<script>
function showDetails(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
let win = $("#dialog").data("kendoWindow");
win.refresh({
url: "/SettlementContract/SavePartial/",
data: {
id: dataItem.OBJECTID1
}
});
}
function onDialogWindowRefresh(e) {
e.sender.center().open();
}
</script>