亲爱的同事们,向你致以亲切的问候!
提示符。
我在这里有一个情况 - 通过按RadGrid RadWindows组件中的一个按钮将RadWindows RadButton按钮设置为Visible = true;但是在PostBack和形状RadWindows消失之后。但进入RadWindows后,所有内容都会保留,因为它已更改为重新启动。
问题:如何防止重新加载页面。
谁不知道Rad Teleric的组成部分。
如果有帮助,源代码可以抛出。
谢谢,问候!
答案 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。