2011-07-09 8 views
0

私はRepeaterの中にいくつかのページ番号を表示するためにdatapagerを持っています、私はそこに他のデータがあるのでテンプレートのページャーフィールドを使用しています。これを使用して、データページャに埋め込まれたユーザコントロールに抽象化しました。ここでRepeater inside Data Pager

は、ここでユーザーコントロールとページャ

<asp:DataPager ID="MessagesDataPager" SkinID="AdminCorrespondenceDataPager" PagedControlID="MessagesListView" runat="server"> 
    <Fields> 
     <asp:TemplatePagerField OnPagerCommand="Pager_OnPagerCommand"> 
      <PagerTemplate> 
       <uc:ListViewPager Id="Pager" runat="server" /> 
      </PagerTemplate> 
     </asp:TemplatePagerField> 
    </Fields> 
</asp:DataPager> 

は、ユーザーコントロール

<p class="pag"> 
    <span class="pagerSummaryPages"><asp:Literal ID="SummaryLiteral" runat="server" /></span> 
    <asp:LinkButton ID="PreviousPageButton" runat="server" Text="&lt Previous" OnCommand="ChangePageCommand" CommandArgument="-1" /> 
    <span> 
     <asp:Repeater ID="PageLinksRepeater" OnItemDataBound="PageLinksRepeater_OnItemDataBound" runat="server"> 
      <ItemTemplate> 
       <asp:LinkButton ID="PageLink" CssClass="pageLink" runat="server" OnCommand="ChangePageCommand" /> 
      </ItemTemplate> 
     </asp:Repeater> 
    </span> 
    <asp:LinkButton ID="NextPageButton" runat="server" Text="Next &gt;" OnCommand="ChangePageCommand" CommandArgument="1" /> 
</p> 

リピータ作業に正しくないとテンプレートページャーフィールドが受け取るので、リンクボタンですPagerCommandイベントが発生しますが、リピーター内のリンクボタンをクリックするとポストバックと独自のコマンドイベントが発生しますが、TemplatedPagerFieldのPagerCommandイベントは発生しません。

本の全体のポイントは、167 <前2 3 4次の25〜50と同様のページング値を生成する再使用可能な制御され>

答えて

0

これが正しく動作するように得ることができ、代わりとリピータを交換しないでくださいプレースホルダとそれに動的に追加されたリンクボタンがあります。ほとんどの場合、これはかなりうまくいきます。したがって、ユーザーコントロールは

となり、OnInit関数では、自分のダイナミックリンクボタンが追加されました。