2013-11-04 3 views
0

내 프로젝트에서 Telerik RadControls를 사용하고 있고 '정보'버튼이있는 메뉴가 있습니다. '정보'버튼을 클릭하면 응용 프로그램을 설명하는 창이 팝업됩니다. 문제는 페이지를 새로 고치거나 다른 페이지로 이동 한 다음 창을 자동으로 팝업하는 첫 번째 페이지로 돌아 오는 경우입니다.모든 페이지 새로 고침 후 Telerik 창이 자동으로 열림

사용자가 정보 버튼을 클릭 할 때만 해당 창이 팝업으로 표시됩니다. 여기

내가 그 창을 얻기 위해 사용되는 코드입니다 :

<!--About Window--> 
<telerik:RadWindowManager runat="server" EnableViewState="false" KeepInScreenBounds="true"></telerik:RadWindowManager> 
<telerik:RadWindow ID="AboutMenu" Behaviors="Close" Animation="None" runat="server" Width="360px" KeepInScreenBounds="true" Height="360px" Modal="true" VisibleStatusbar="false" Skin="Glow"> 
<ContentTemplate> 
<p style="text-align: center;">Sample Window Information</p> 
</ContentTemplate> 
</telerik:RadWindow> 

자바 스크립트

function OnClientItemClick(sender, eventArgs) { 
      if (window.args.get_item().get_text() == "About") { 
       var radwindow = window.$find(window.AboutMenu.ClientID); 
       window.args.set_cancel(true); 
      } 
     } 

.cs

protected void MainMenu_OnItemClick(object sender, RadMenuEventArgs e) 
     { 
      if (e.Item.Text == "About") 
      { 
       AboutMenu.VisibleOnPageLoad = true; 
      } 
     } 

창 작품 만이로드 될 때마다 페이지가로드 thats 내가 생각하는 줄 AboutMenu.VisibleOnPageLoad = true 놀이에 와서 오류가 발생하지만 그때 그쪽으로 나가서 t 행은 전혀 표시되지 않습니다.

답변

3

대신 VisibleOnPageLoad 다음 코드를 사용하여 itemclick에서 창을 열어보십시오.

protected void MainMenu_OnItemClick(object sender, RadMenuEventArgs e) 
    { 
      if (e.Item.Text == "About") 
      { 
string script = "function f(){$find(\"" + RadWindow1.ClientID + "\").show(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);"; 
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, true); 

      } 
    } 
0

또는 메뉴의 OnCLientItemClicking 이벤트를 사용하여 RadWindow를 열고 포스트 백을 취소하십시오. 그러나 arguement는 현재 함수의 컨텍스트에 있기 때문에 JS 코드를 수정해야합니다. 또한 독자적인 ClientID 배열을 만들지 않으면 RW에 대한 참조가 손상 될 수 있습니다.

function OnClientItemClicking(sender, eventArgs) { 
     if (eventArgs.get_item().get_text() == "About") { 
      var radwindow = window.$find(<%=AboutMenu.ClientID%>); 
      radwindow.show(); 
      eventArgs.set_cancel(true); 
     } 
    } 
관련 문제