0

내 상황은 다음과 같습니다. 페이지 번호가 표시된 버튼이 포함 된 x 축 스크롤 가능한 div가 있습니다. 이 div는 내 사이트에 뉴스를 표시하는 사용자 컨트롤 내의 데이터 목록에 배치됩니다.ASP.NET 데이터 목록 및 사용자 정의 컨트롤 내에서 div의 포스트 백 이후에 스크롤 위치 유지

이것은 div와 datalist의 페이지 번호가있는 코드입니다.

<div style="width:430px; overflow:auto; overflow-y:hidden; -ms-overflow-y:hidden; vertical-align:top; position:relative; top:-1px; "> 
      <asp:DataList ID="dlPaging" runat="server" OnItemCommand="dlPaging_ItemCommand" RepeatDirection="Horizontal" 
       OnItemDataBound="dlPaging_ItemDataBound"> 
       <ItemTemplate> 
        <asp:Button ID="lnkbtnPaging" class="pagebutton" runat="server" CommandArgument='<%# Eval("PageIndex") %>' 
         CommandName="lnkbtnPaging" Text='<%# Eval("PageText") %>' CausesValidation="False" /> 
       </ItemTemplate> 
      </asp:DataList> 
      </div> 

포스트 백 이후에이 div의 x 축 위치를 어떻게 구합니까? 몇 가지 트릭을 시도했습니다, 자바 스크립트와 나는 그것을 알아낼 수 없습니다.

+0

해결책을 찾았습니까? 나는 비슷한 솔루션을 찾고 있습니다 .. 만약 당신이 하나 있다면 알려주십시오. –

+0

나는 그것을 작동시켰다. 당신이 지금 그것을 필요로하는 경우에 나의 응답을 발견하십시오. 나는 그것의 toooo를 늦게 알고있다, 그러나 나는 그것을 최근에 직면하고 해결책을 찾아 냈다. –

답변

0

UpdatePanel을 사용하지 않는 이유는 무엇입니까?

+0

나는 그것을 작동시킬 수 없다. 트리거를 추가하려고하는데 페이지 버튼 컨트롤을 찾지 못했습니다./"ID가 'ContentPlaceHolder1_News1_dlPaging_lnkbtnPaging_0'ID가있는 컨트롤을 UpdatePanel 'UpdatePanel2'의 트리거에 대해 찾을 수 없습니다." 하지만 내가 HTML 마크 업을 생성 할 때 컨트롤 ID를 찾으면 괜찮습니다. 나는 무엇을해야할지 모른다. 그것은 나 또는 사용자 컨트롤 asp.net에서 짜증나? – user964986

+0

UpdatePanel에 대한 태그를 볼 수 있습니까? – sq33G

0
<div id="divDtPaging" runat="server" visible="true" style="width: 50%; overflow: scroll; text-align: center"> 
          <asp:DataList runat="server" ID="dtPaging" OnItemCommand="dtPaging_ItemCommand" 
           OnItemDataBound="dtPaging_ItemDataBound" RepeatDirection="Horizontal" 
           SeparatorStyle-Wrap="true" Style="height: auto"> 
           <ItemTemplate> 
            <asp:LinkButton runat="server" ID="lnkbtnPaging" Text="PageText" CommandArgument="PageIndex" Style="padding-right: 5px">          
            </asp:LinkButton> 
           </ItemTemplate> 
          </asp:DataList> 
         </div>  
<asp:HiddenField id="hdnScrollPos" runat="server"/> 

      <script type="text/javascript"> 
       function BeginRequestHandler(sender, args) 
       { 
        document.getElementById('<%=hdnScrollPos.ClientID %>').value = document.getElementById('<%=divDtPaging.ClientID %>').scrollLeft; 
       } 
       function EndRequestHandler(sender, args) { 
        document.getElementById('<%=divDtPaging.ClientID %>').scrollLeft = document.getElementById('<%=hdnScrollPos.ClientID %>').value; 
       } 

       if (window.Sys && Sys.WebForms && Sys.WebForms.PageRequestManager) { 
        var prm = Sys.WebForms.PageRequestManager.getInstance() 
        prm.add_beginRequest(BeginRequestHandler); 
        prm.add_endRequest(EndRequestHandler); 
       } 

     </script>