Открыть дочернее окно в telerik radwindow

Я хочу открыть дочерний RadWindow с помощью telerik:RadWindow со скриптом на стороне клиента, я использовал "radopen", он показывает окно, но не совсем с тем же свойством и URL-адресом, как я настроил. Еще одна вещь, в которой находится мой родительский RadWindow, - в UserControl

это мой код:

<telerik:RadWindowManager ID="RadWindowManagerCustomValue" Style="overflow: hidden"
    ShowContentDuringLoad="false" VisibleStatusbar="false" ReloadOnShow="True" IconUrl=""
    DestroyOnClose="true" Modal="true" Height="390" Width="600" runat="server" OnClientClose="closeRadWindow"
    EnableShadow="true" Title="Add/Edit Agreement Type">
    <Windows>
        <telerik:RadWindow ID="AddCompanyDialog" ShowContentDuringLoad="false" runat="server"
            Title="Add Company" InitialBehaviors="Maximize" Behaviors="Close" NavigateUrl="somePage.aspx" />
    </Windows>
</telerik:RadWindowManager>



            function LoadCompanyPopup(sender, args) {

                radopen(null, "AddCompanyDialog");
            }

3 ответа

На самом деле использование JavaScript - это способ работы с RadWindow от Telerik. Он рендерится только на клиенте, поэтому его использование на сервере обычно выполняется путем внедрения скриптов. Посмотрите на эту ветку, открыв ее с сервера.

На оригинальном постере - взгляните на эти статьи - открываете RadWindow из RadWindow, правильно открываете второе RadWindow (так, чтобы оно не ограничивалось первым), и при использовании нескольких менеджеров по неправильному URL-адресу, который вы получаете - скорее всего, вы иметь более одного RadWindowManager на странице, в контексте которого вы вызываете radopen().

Используйте этот простой код Javascript, чтобы открыть окно:

function LoadCompanyPopup()
{ var myWindow=window.radopen(null, "AddCompanyDialog"); }

Кроме того, в теге telerik:RadWindow измените значение атрибута NavigateUrl с "somePage.aspx" на "./somePage.aspx" (чтобы убедиться, что путь к вашей странице aspx находится).

Моя память немного размыта, так как прошло несколько месяцев с тех пор, как я испортил элементы управления Telerik... но что-то подсказывает мне, что было трудно / невозможно открыть окно в окне с помощью JavaScript.

Код, который у меня есть для этого сценария, открывает окно с выделенным кодом.NET, используя

radWindow.VisibleOnPageLoad = True

на кнопке onClick событие

РЕДАКТИРОВАТЬ:

Я ошибался! Как указано ниже. Мой пример кода JavaScript для открытия окна внутри окна:

    function closeWin() {
        GetRadWindow().close();
    }

    function GetRadWindow() {
        var oWindow = null; if (window.radWindow)
            oWindow = window.radWindow; else if (window.frameElement.radWindow)
            oWindow = window.frameElement.radWindow; return oWindow;
       }

    function ConfirmResult(sender, args) {
        var ajaxManager = $find("radAjaxManager");
        ajaxManager.ajaxRequest(args._argument);

        if (args._argument == "confirm")
            closeWin();
    }

    function OpenConfirmDialog() {
        var window = GetRadWindow().get_windowManager().getWindowByName("DeleteConfirmPopup");
        window.show();
        window.add_close(ConfirmResult);
        setTimeout(function () { window.set_modal(true); }, 0);
    }
Другие вопросы по тегам