как установить окно кендо LoadContentFrom во время выполнения

я новичок в пользовательском интерфейсе кендо, я хочу использовать окно кендоуи, но у меня есть некоторые проблемы с использованием, я пишу этот код для создания окна

@(Html.Kendo().Window().Name("Details")
    .Title("Customer Details")
    .Visible(false)
    .Modal(true)
    .Draggable(true)
    .Width(300)       
)

на странице у меня есть кнопка, я хочу, чтобы когда пользователь щелкнул одну из этих кнопок, динамически установил LoadContentFrom с помощью jquery. Но я не знаю, как это сделать. пожалуйста, помогите мне. Спасибо всем.


person Pouya    schedule 24.06.2013    source источник


Ответы (3)


вы можете попробовать это:

   $("#yourbuttonID").bind("click", function() {
       $("#Details").data("kendoWindow").open();
   });

для загрузки содержимого для использования:

@(Html.Kendo().Window().Name("Details")
    .Title("Customer Details")
    .Visible(false)
    .Modal(true)
    .Draggable(true)
    .LoadContentFrom("brand", "edit") 
    .Width(300)
)
person COLD TOLD    schedule 24.06.2013
comment
спасибо, что предупредил меня. но что такое «kendoWindow»? я хочу загрузить вид. - person Pouya; 24.06.2013
comment
это ссылка, чтобы убедиться, что это окно - person COLD TOLD; 24.06.2013
comment
если вы хотите загрузить редактирование представления из бренда контроллера и отправить 1 для параметров, я пишу это $(#Details).data(brand/edit/1).open(); но я получаю ошибку, пожалуйста, помогите мне. спасибо - person Pouya; 24.06.2013
comment
я получаю эту ошибку (я пишу этот код в теге script), 0x800a01b6 - ошибка времени выполнения JavaScript: объект не поддерживает свойство или метод «LoadContentFrom» - person Pouya; 24.06.2013
comment
я объясняю проблему, например, у меня есть 4 кнопки в форме, когда пользователь нажимает кнопку редактирования, я хочу загрузить редактирование представления в окне и отправить параметр в контроллер редактирования, когда пользователь нажимает кнопку добавления, я хочу загрузить добавление представления и,... - person Pouya; 24.06.2013
comment
объясните проблему, например, у меня есть 4 кнопки в форме, когда пользователь нажимает кнопку редактирования, я хочу загрузить редактирование представления в окне и отправить параметр в контроллер редактирования, когда пользователь нажимает кнопку добавления, я хочу загрузить добавление представления и,... - person Pouya; 24.06.2013

Вам нужно получить объект окна, установить его url и передать строку запроса в свойство url. Это работает для меня:

        var window = $("#Details").data("kendoWindow");
        window.refresh({
            url: '/YourController/YourAction/......',

        });
        window.open().center();

Кроме того, вы также можете передать некоторые данные в action:

        window.refresh({
            url: '/YourController/YourAction/......',
            data: { id: 10, enterpriseId: 88}

        });

Или у вас может быть просто функция для создания окна на лету и установки URL-адреса содержимого с некоторым параметром:

    function createKendoWindow(contentUrl) {
        $(document.body).append('<div id="Window"></div>');
        $('#Window').kendoWindow({
            title: "Log In",
            modal: true,
            resizable: false,
            width: 400,
            content: contentUrl,
            visible: false,
            minHeight: 350,
            animation: {
                open: {
                    effects: "expandVertical",
                    duration: 1000
                },
            },
            close: function () {
                setTimeout(function () {
                    $('#Window').kendoWindow('destroy');
                }, 200);
            }
        }).html('<img src="761.gif" />').data('kendoWindow').center().open();
    }
person Mohammad Sepahvand    schedule 29.06.2013
comment
Это кажется хорошим решением. Но у меня проблема с загрузкой содержимого из MVC PartialView. В представлении есть другие виджеты кендо, которые отображаются неправильно из-за ошибок JavaScript после загрузки содержимого. Я не знаю, в чем здесь проблема. - person Sven; 06.05.2016
comment
Я заработал. Я просто удалил все другие окна из своего представления и использовал только метод createKendoWindow(). Теперь он работает отлично. Спасибо, Мохаммад. - person Sven; 06.05.2016

Вы можете использовать LoadContentFrom и указать действие и контроллер. К действию будет привязано собственное представление. См. здесь для подробностей.

person Kiran    schedule 12.12.2014