2013-11-22 58 views
1

向您問候親愛的同事們!如何阻止Telerik RadWindow始終在下次回發中重裝2

提示。

我在這裏有一種情況 - 有一個組件RadWindows RadButton按鈕,它通過按下RadGrid中的一個按鈕將RadWindows組件設置爲Visible = true;但是在PostBack和RadWindows消失之後。但進入RadWindows時,所有內容都保持不變,因爲它被更改爲重新啓動。

問題:如何防止重新加載頁面。

誰不知道Rad Teleric的組件是什麼。

如果有幫助,源代碼可能會拋出。

謝謝,關心!

回答

1

Set DestroyOnClose =「true」以防止關閉或回發後窗口重新打開。這聽起來像你可能使用服務器端代碼將Visible屬性設置爲true。這是不好的做法,會導致像你所描述的問題。 RadWindows應該通過客戶端方法打開。

在服務器端,使用此代碼在DestoryOnClose設置爲true時使用RadWindow.Show客戶端方法從客戶端打開一個窗口。如果您想使用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); 
    } 
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