2012-01-13 2 views
0

RadWindow를 사용하여 윈도우 자체에서 (자바 스크립트를 통해) 닫으려고합니다. 창을 닫기 위해 스크립트를 호출 할 수 있습니까? 여기에 자바 스크립트입니다 :RadWindow를 사용하여 RadButton 닫기

function getRadWindow() 
{ 
    var oWindow = null; 
    if (window.radWindow) oWindow = window.radWindow; 
    else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; 
    return oWindow; 
} 

function closeWindow() 
{ 
    getRadWindow().close(); 
} 

그리고 여기에 버튼이다 : 나는 그런 앵커 태그로 순수한 HTML 요소를 사용하는 경우 나, 스크립트에만 작동합니다 모든 것을 시도

<telerik:RadButton ID="CancelButton" runat="server" OnClick="closeWindow();" CssClass="clicker" Text="Cancel" UseSubmitBehavior="False" EnableEmbeddedScripts="false" CausesValidation="False" RegisterWithScriptManager="False"> 
</telerik:RadButton> 

. OnClick 이벤트를 사용하면 창이 열릴 때 다음과 같은 오류가 발생합니다. Compiler Error Message: CS1026:) expected.

누락 된 것이 있습니까?

감사합니다.

답변

2

RadButton에서 함수를 호출하는 방법은 OnClientClicked 또는 OnClientClicking 이벤트를 사용하는 것입니다. 그런 다음 JavaScript 함수의 이름 만 괄호없이 전달해야합니다. OnClick은 서버 핸들러의 속성이며, 일반 ASP 버튼에서도 마찬가지입니다. 이 시도 :

<telerik:RadButton ID="CancelButton" runat="server" OnClientClicked="closeWindow" AutoPostBack="false" CssClass="clicker" Text="Cancel" UseSubmitBehavior="False" EnableEmbeddedScripts="false" CausesValidation="False" RegisterWithScriptManager="False"> 

주 AutoPostBack 속성은 다시 게시를 방지하기 위해 false로 설정됩니다.

3

나는이 대답을 향상시키고 있는지 잘 모르겠다. 이해하기 쉽게하려고 노력하고있다. 나는 메인 페이지에서 열린 Rad 창을 가지고있다. radwindow는 Javascript가 아닌 Code Behind (C#)에서 열립니다. 내 사용자가 RadWindow의 저장 버튼을 클릭하면 일부 논리 작업을 수행 한 다음 radwindow 자체를 닫습니다. 당신은 단순히 필요에 :

넣어 thise 코드 블록 당신은 RadWindow에 영문 .....

<telerik:RadCodeBlock runat="server" ID="rcb1"> 
<script language="javascript" type="text/javascript"> 

function GetRadWindow() 
{ 
var oWindow = null; 
if (window.radWindow) oWindow = window.radWindow; 
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; 
return oWindow; 
} 
function CloseDialog(button) 
{ 
GetRadWindow().close(); 
} 

</script> 
</telerik:RadCodeBlock> 

넣어 당신이 당신의 사전 가까운 로직 (같은 버튼을 수행 한 후 RadWindow의 버튼 클릭이 코드가 다른 로직이 창을 닫음)

C# ClientScript.RegisterStartupScript (typeof (string), ""CloseDialog(); ");

또는

VB ClientScript.RegisterStartupScript (Me.GetType(), "", "CloseDialog와는();")

여기에 코드 숨김에서 radwindow을 여는 방법을 궁금해하는 경우는 어떻게 나는 그것을했다 :

RadWindow window1 = new RadWindow(); 
// Set the window properties 
window1.NavigateUrl = "winStrengthChart.aspx?EMPLOYIDNAME=" + parmString; 
window1.ID = "RadWindow1"; 
window1.Width = 800; 
window1.Height = 650; 
window1.VisibleStatusbar = false; 
window1.Behaviors = Telerik.Web.UI.WindowBehaviors.Close | Telerik.Web.UI.WindowBehaviors.Resize | Telerik.Web.UI.WindowBehaviors.Move; 
window1.VisibleOnPageLoad = true; // Set this property to True for showing window from code 
rwm1.Windows.Add(window1); 
this.Form1.Controls.Add(window1); 

을 ... 그리고 물론 당신은 창이 열립니다 메인 페이지에 기본 RadWindowManager 필요

<telerik:RadWindowManager ID="rwm1" runat="server"> 
<Windows> 
</Windows> 
</telerik:RadWindowManager> 

실수로 실수를 저질렀 으면이 방법이 효과가 있습니다.

감사

+0

'물론 당신이 창을 엽니 메인 페이지에 기본 RadWindowManager 필요는 : 우리는 더 많은 다음 1 창문이없는 한' RadWindowManager 필요가 없습니다. –

관련 문제