RadWindow问题

时间:2011-05-22 12:30:39

标签: c# .net asp.net telerik 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()">

问题是它会立即弹出并关闭吗?为什么呢?

3 个答案:

答案 0 :(得分:3)

asp:linkbutton是一个回发元素 - 这就是RadWindow立即关闭的原因。 基本上,会发生什么:

  1. 点击链接按钮

  2. 触发OnClientClick事件处理程序中的函数并显示窗口

  3. 发生回发并重新加载页面 - 此时,RadWindow对象被销毁(就像回发中任何其他动态创建的对象一样)。

  4. 为避免这种情况,您需要取消回发:

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

答案 1 :(得分:1)

可能是因为UpdatePanel。您是否尝试将RadWindow代码移出UpdatePanel代码并查看它是否仍然立即关闭?如果您有Telerik套件,则可以考虑使用其Ajax控件。它们非常强大,Telerik通常在它们相互结合使用时测试它们的控件的兼容性。 RadAjaxManager是一个 非常 良好的控件,可以比UpdatePanel更好地控制Ajax更新 - 很多 。 / p>

答案 2 :(得分:0)