我在更新面板中使用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()">
问题是它会立即弹出并关闭吗?为什么呢?
答案 0 :(得分:3)
asp:linkbutton是一个回发元素 - 这就是RadWindow立即关闭的原因。 基本上,会发生什么:
点击链接按钮
触发OnClientClick事件处理程序中的函数并显示窗口
发生回发并重新加载页面 - 此时,RadWindow对象被销毁(就像回发中任何其他动态创建的对象一样)。
为避免这种情况,您需要取消回发:
<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)