如何阻止Telerik RadWindow在下一个PostBack 2上重新加载

时间:2013-11-22 15:13:52

标签: telerik postback radwindow

亲爱的同事们,向你致以亲切的问候!

提示符。

我在这里有一个情况 - 通过按RadGrid RadWindows组件中的一个按钮将RadWindows RadButton按钮设置为Visible = true;但是在PostBack和形状RadWindows消失之后。但进入RadWindows后,所有内容都会保留,因为它已更改为重新启动。

问题:如何防止重新加载页面。

谁不知道Rad Teleric的组成部分。

如果有帮助,源代码可以抛出。

谢谢,问候!

2 个答案:

答案 0 :(得分:1)

设置DestroyOnClose =“true”以防止窗口在关闭或回发后重新打开。听起来您可能正在使用服务器端代码将Visible属性设置为true。这是一种不好的做法,会导致您描述的问题。 RadWindows应该通过客户端方法打开。

在服务器端使用此代码使用RadWindow.Show客户端方法从客户端打开一个窗口,同时将DestoryOnClose设置为true。如果要使用RadWindow.Open()方法将URL传递给窗口,可以自定义脚本字符串。

    private void ShowWindow()
    {
        string script = "function f(){$find(\"" + YourRadWindow.ClientID + "\").show(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);";
        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true);
    }

答案 1 :(得分:0)

考虑使用JavaScript打开它,这将让您停止使用这些不必要的回发:http://www.telerik.com/help/aspnet-ajax/window-programming-opening.html。 使用OnClient单击RadButton:http://blogs.telerik.com/aspnet-ajax/posts/12-08-10/migrating-onclientclick-handlers-from-asp-button-to-telerik-s-asp-net-ajax-button.aspx

您还可以使用AJAX来阻止将要处理(并因此隐藏)RadWindow的完整回发:http://www.telerik.com/help/aspnet-ajax/radwindow-ajaxifying.html

如果需要,请阅读此粘贴以了解如何从服务器打开它。如果将VisibleOnPageLoad设置为true,它将在回发后重新显示,因此您只需要在需要时将属性设置为false:http://www.telerik.com/community/forums/aspnet-ajax/window/opening-radwindow-from-the-server.aspx