Заполнить диалоговое окно Kendo с частичным просмотром

#kendo-ui #dialog #partial-views

#kendo-пользовательский интерфейс #диалоговое окно #частичные представления

Вопрос:

У меня есть, 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();
                }
            }
        });
    }
  

Я попытался удалить if условие внутри success , на всякий случай, но это тоже не работает. Он возвращает частичное представление, но не внутри kendo dialog , диалоговое окно даже не открывается. Что я делаю не так?

Комментарии:

1. Вы видите частичное изображение на странице? Где в вашем коде вы создаете экземпляр виджета диалога?

Ответ №1:

Мы делаем это в нашем приложении, и вот как мы его настроили (я обновил его, чтобы использовать ваш контроллер / действия / идентификаторы) — это использование 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>