2011-10-30 13 views
0

データリストとユーザーコントロール内のdivにポストバック後のスクロール位置を維持する私の状況は次のようになります。私は、表示されたページの番号のボタンが含まれ、x軸スクロール可能なdiv要素を持っています。このdivは、自分のサイトにニュースを表示するユーザーコントロール内のデータリストに配置されます。ASP.NETは

これは、ページ番号と、このdiv要素とデータリストのコードです。

<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軸の位置を変更する方法はありますか?私はいくつかのトリック、JavaScriptを試してみて、私はそれを把握することはできません。

+0

何か解決策を見つけますか?私は似たような解決策を求めています。あなたが持っているかどうか教えてください。 –

+0

私はそれを働かせました。あなたが今必要とするものがあれば、私の答えを見つけてください。遅くなってしまいましたが、最近直面して解決策を見つけました。 –

答えて

0

いかなる理由のUpdatePanelを使用しませんか?

+0

私はそれを動作させることはできません。私は、トリガーを追加しようとしているが、私はページボタンコントロールを見つけることに失敗している:それはと言う/「ID 『ContentPlaceHolder1_News1_dlPaging_lnkbtnPaging_0』はコントロールが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>