2011-05-16 121 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();" /> 

希望对某人有用。