Проблема с RadWindow

Я использую RadWindow на панели обновлений, например:

<asp:UpdatePanel ID="mainUpdatePanel" runat="server">
    <ContentTemplate>
        <telerik:RadWindow ID="wndInformation" runat="server" Skin="Default"
                NavigateUrl="../MaterialInformation.aspx"
                Behaviors="Close, Move, Resize, Maximize" Height="500" Width="600">
        </telerik:RadWindow>

и вызывая его с помощью javascipt:

function OpenSuperSeeding() {
            var wnd = $find("<%= wndInformation.ClientID%>");
            wnd.show();
        }

и назначены как в тегах:

<asp:LinkButton runat="server" ID="LnkbtnStatistics"
     OnClientClick="OpenSuperSeeding()">

Проблема в том, что он выскакивает и сразу закрывается? Почему?


person mBotros    schedule 22.05.2011    source источник


Ответы (2)


asp:linkbutton — это элемент обратной передачи, поэтому RadWindow немедленно закрывается. В основном происходит следующее:

  1. Вы нажимаете кнопку ссылки

  2. Функция в обработчике события OnClientClick запускается и показывает окно

  3. Происходит постбэк и страница перезагружается — в этот момент объект RadWindow уничтожается (как и любой другой динамически создаваемый объект при постбеке).

Чтобы этого избежать, нужно отменить постбек:

<asp:LinkButton runat="server" ID="LnkbtnStatistics" Text="Link Button" OnClientClick="OpenSuperSeeding(); return false;"></asp:LinkButton>

person GeorgiTunev    schedule 31.05.2011

Это может быть из-за UpdatePanel. Вы пытались переместить код RadWindow из кода UpdatePanel и посмотреть, закрывается ли он по-прежнему сразу? Если у вас есть пакет Telerik, вы можете вместо этого использовать их элементы управления Ajax. Они довольно мощные, и Telerik обычно проверяет совместимость своих элементов управления, когда они используются вместе друг с другом. RadAjaxManager — это очень хороший элемент управления, который позволяет детально управлять обновлениями Ajax — намного лучше, чем UpdatePanel.

person Rob    schedule 22.05.2011