2011-05-16 157 views
2

需要從按鈕單擊事件中打開radWindow中的網頁。試圖從客戶端做到這一點,但它出現,然後立即消失。我認爲按鈕單擊導致回發到服務器...因此,我目前正試圖解決此問題與服務器端代碼(C#)下面張貼。RadWindow:從C#打開窗口#

問題:需要打開窗口窗口而不將它們添加到窗口集合中或將它們從窗口集合上關閉。它們不會在關閉窗口時從窗口集合中刪除。這會導致按下新按鈕的次數相同的窗口打開。第一次點擊打開一個窗口,第二次點擊兩個窗口打開新的按鈕等...任何想法?

C# - 多頁打開

RadWindow newWindow = new RadWindow(); 
    newWindow.NavigateUrl = "WebPage.aspx"; 
    newWindow.Top = Unit.Pixel(22); 
    newWindow.VisibleOnPageLoad = true; 
    newWindow.Modal = true; 
    newWindow.Left = Unit.Pixel(0); 
    newWindow.Height = 530; 
    newWindow.Width = 1000; 
    winMgr.Windows.Add(newWindow); 

的JavaScript - 後返回的問題?頁面打開並立即消失。

var oManager = '<%=winMgr.ClientID %>'; 
    var oManager = window.radopen("WebPage.aspx", null); 
    oManager.setSize(1000, 530); //Width, Height 
    oManager.center(); 
    oManager.SetActive(); 

感謝您的幫助!

+0

按鈕是否應該引起回發? – 2011-05-16 16:10:42

回答

2

您需要點擊按鈕後返回false。

試試你的按鈕/ JavaScript的設置類似於下面的內容:

按鈕(CSS)

<asp:Button ID="btnDoSomething" runat="server" Text="Do Something" OnClientClick="return myFunction();" /> 

的JavaScript

function myFunction() { 
    var oManager = window.radopen("WebPage.aspx", null); 
    oManager.setSize(1000, 530); //Width, Height 
    oManager.center(); 
    oManager.SetActive(); 
    return false; 
} 
+0

感謝您的迴應!我試圖阻止一些其他方式的帖子,我只是嘗試了你的建議。該窗口仍然出現,然後立即消失...任何其他想法?如果這有什麼不同,我正在使用rad按鈕控件。 – G18Programmer 2011-05-16 17:40:53

2

首先 - 基本:) 你想在客戶端打開RadWindow(通過JavaScript)或在服務器上?如果你想在客戶端打開RadWindow(並且沒有服務器端事件掛鉤到那個回發元素),你需要取消回發。這可以通過使用 OnClientClick =「return myFunction();」和 「返回false;」 在函數本身(如艾利森建議)的端部,或:

的OnClientClick = 「myFynction();返回false;」

當客戶端單擊被取消時,應該沒有回發。

案例2 - 在服務器上: RadWindow從服務器通過VisibleOnPageLoad設置爲真正所示。請注意,RadWindow/RadWindowManager會在回發期間保持其狀態,其中包括所有服務器端屬性,包括VisibleOnPageLoad。這就是說,如果您只想顯示一次RadWindow,則還需要爲您正在使用的RadWindowManager設置EnableViewState = false。

3

按照Alison的解決方案,rad窗口顯示在按鈕單擊上;但立即再次消失。我嘗試使用下面的代碼。它在我的情況下工作正常。

<script type="text/javascript"> 
    function openRadWin() 
    { 
     radopen("http://www.google.com", "RadWindow1"); 
    } 
</script> 
<asp:Button ID="Button1" Text="Show Window" runat="server" OnClientClick="openRadWin();" /> 

希望對某人有用。