2013-05-30 3 views
2

마스터 페이지에 스크립트 관리자와 업데이트 패널이 있습니다.업데이트 패널이 마스터 페이지에있을 때 스크롤 위치 유지

  <div id="nav"> 
       <asp:ScriptManager ID="ScriptManager1" runat="server"/> 
      </div> 
      <div id="mainchild"> 
      <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
       <ContentTemplate> 
        <asp:ContentPlaceHolder ID="HdrContentPlaceholderBody" runat="server"> 
        </asp:ContentPlaceHolder> 
       </ContentTemplate> 
      </asp:UpdatePanel> 
     </div> 

이 div는 마스터 페이지에 있고 내 자식 페이지에는 패널 내부에 격자보기가 있습니다.

이 부분 다시 게시가 발생 rowcommand에있는 gridview에서
 <asp:Content ID="pagecontent" ContentPlaceHolderID="HdrContentPlaceholderBody" runat="server"> 
      <asp:Panel ID="pnlAssignRole" runat="server" CssClass="popuppnl" Visible="false"> 
      <div class="close-image"> 
       <asp:ImageButton ID="ImageButton2" ToolTip="Close" runat="server" ImageUrl="~/App_Themes/Images/Close1.png" OnClick="btnAsgnCancel_Click" /> 
      </div> 
      <table width="100%"> 
       <tr> 
        <td> 
         <div style="height: 600px; overflow: auto;"> 
          <asp:GridView ID="grdEmpAssigned"> 
          gridview content 
          </GridView> 
         </div> 
        </td> 
       </tr> 
      </table> 
     </asp:Content> 

, 나는 updatepanel 아래 자바 스크립트의 조각을 넣어 시도 또한 마스터 페이지에서 또한 컨텐츠 페이지에 ScriptManager 아래는 ... 내가 아니라고 생각 도움이되지 않았다 이 자바 스크립트를 배치 할 위치를 얻으려면

 <script type="text/javascript"> 
       var xPos, yPos; 
       var prm = Sys.WebForms.PageRequestManager.getInstance(); 
       prm.add_beginRequest(BeginRequestHandler); 
       prm.add_endRequest(EndRequestHandler); 
        function BeginRequestHandler(sender, args) { 
         try { 
          yPos = $get('ctl00_MainContent_scroll').scrollTop; 
          } 
         catch (err) { } 
        } 
        function EndRequestHandler(sender, args) { 
         try { 
          $get('ctl00_MainContent_scroll').scrollTop = yPos; 
          } 
         catch (err) { } 
        } 
     </script> 

나를 안내하십시오.

답변

2

이 링크로 이동하십시오. 그게 너에게 도움이 될거야. http://dotnetcrunch.wordpress.com/2011/08/05/maintain-scroll-position-for-the-whole-page-after-asynchronous-postback/

다음은 위 링크의 코드입니다. 사이트의 헤더 섹션에 넣으십시오.

<script type=”text/javascript”> 
    var xPos, yPos; 
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler); 
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(EndRequestHandler); 

    function BeginRequestHandler(sender, args) { 
     xPos = document.body.scrollLeft; 
     yPos = documnet.body.scrollTop; 
    } 

    function EndRequestHandler(sender, args) { 
     document.body.scrollLeft = xPos; 
     document.body.scrollTop = yPos; 
    } 
</script> 
+0

: 난 이미이 링크에 있었다, 그것은 나에게 도움이되지 않았다 .. :( –

+0

작품을 마법처럼 @Jalpesh 나는 웹 사이트가 다운 될 경우에는 사이트에서 코드를 추가하는 게 좋을 것 –

+0

을!. –

관련 문제