Kendo ui 用局部视图填充剑道对话框

Kendo ui 用局部视图填充剑道对话框,kendo-ui,dialog,partial-views,Kendo Ui,Dialog,Partial Views,我有一个剑道对话框,我想用局部视图填充它,但它有点不起作用。 我想点击一个按钮来填充对话框,下面是我的代码 <div id="dialog"></div> function showDetails(e) { e.preventDefault(); var dataItem = this.dataItem($(e.currentTarget).closest("tr")); var

我有一个
剑道对话框
,我想用
局部视图填充它
,但它有点不起作用。 我想点击一个按钮来填充对话框,下面是我的代码

<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();
                }
            }
        });
    }

功能展示详情(e){
e、 预防默认值();
var dataItem=this.dataItem($(e.currentTarget).closest(“tr”);
变量对话框=$(“#对话框”);
console.log(“objId”,dataItem.OBJECTID1)
$.ajax({
url:'@url.Action(“保存部分”、“结算合同”),
数据:{
id:dataItem.ObjectId
},
成功:功能(结果){
如果(结果!=null){
html(结果);
dialog.data(“kendoDialog”).open();
}
}
});
}

我试图删除
成功
中的
if
条件,以防万一,但它也不起作用。它返回局部视图,但在
剑道对话框
中,该对话框甚至没有打开。我做错了什么?

我们在应用程序中这样做,这就是我们设置它的方式(我更新它以使用您的控制器/操作/ID)-这是使用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>

@(Html.Kendo().Window())
.Name(“对话框”)
.Content(“加载…”)
.Draggable()
.Actions(Actions=>Actions.Maximize().Close())
.可调整大小()
.模态(真)
.可见(假)
.Events(e=>e.Refresh(“onDialogWindowRefresh”))
)
功能展示详情(e){
e、 预防默认值();
var dataItem=this.dataItem($(e.currentTarget).closest(“tr”);
let win=$(“#对话框”).data(“kendoWindow”);
赢,刷新({
url:“/SettlementContract/SavePartial/”,
数据:{
id:dataItem.ObjectId
}
});
}
函数onDialogWindowRefresh(e){
e、 sender.center().open();
}

我们在应用程序中这样做,这就是我们设置它的方式(我将其更新为使用您的控制器/操作/ID)-这是使用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>

@(Html.Kendo().Window())
.Name(“对话框”)
.Content(“加载…”)
.Draggable()
.Actions(Actions=>Actions.Maximize().Close())
.可调整大小()
.模态(真)
.可见(假)
.Events(e=>e.Refresh(“onDialogWindowRefresh”))
)
功能展示详情(e){
e、 预防默认值();
var dataItem=this.dataItem($(e.currentTarget).closest(“tr”);
let win=$(“#对话框”).data(“kendoWindow”);
赢,刷新({
url:“/SettlementContract/SavePartial/”,
数据:{
id:dataItem.ObjectId
}
});
}
函数onDialogWindowRefresh(e){
e、 sender.center().open();
}

您看到页面上的部分了吗?您在代码中的什么地方实例化了对话框小部件?您是否看到页面上的部分?您在代码中的何处实例化对话框小部件?