-1

以下に示すように、aspx ページに 2 つの更新パネルがあります。aspx ページは UserControl 要素を使用します。この要素は、ページ番号のリストが表示されるリピーターを実装します。ページ番号の 2 つのリスト (L1 と L2 など) があり、1 つはページの上部に、もう 1 つはページの下部にあります。(したがって、aspx ページの 2 つのユーザー コントロール、RevPaging1 と RevPaging2)。

<%@ Register Src="../Controls/UseControl.ascx" TagName="UserControl" TagPrefix="uc1" %>

 <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
        <ContentTemplate>

        <div id="Div1" class="paging" runat="server" visible="false">
            <uc1:UserControl id="RevPaging1" runat="server" ShowResult="false">
            </uc1:UserControl>          
        </div>

         </ContentTemplate>
    </asp:UpdatePanel>   

    <asp:UpdatePanel runat="server" ID="UpdatePanel2" UpdateMode="Conditional">

         <ContentTemplate>

            <div id="Div2" class="paging" runat="server" visible="false">
                    <uc1:UserControl id="RevPaging2" runat="server" ShowResult="false">
                    </uc1:UserControl>          
            </div>          

       </ContentTemplate>

    </asp:UpdatePanel>

質問: "RevPaging1" の任意のページ番号をクリックすると、"RevPaging2" のページ番号が、RevPaging1 で選択したのと同じ番号 (クリックしなかった番号) に自動的に更新されるようにするにはどうすればよいですか? 、「RevPaging2」のページ番号をクリックすると、「RevPaging1」(クリックしなかったページ)のページ番号が自動的に更新されます。

以下は UserControl の実装です (上記の 2 つの更新パネル内で 2 回宣言されています)。

<%@ Control Language="C#" AutoEventWireup="true" 
    CodeBehind="UserControl.ascx.cs" Inherits="Namespace.UserControl" %>

    <table>
        <tr>
            <td class="left">
                <p class="button2Left"></p>
                    <asp:Button ID="btPreviousPage" runat="server" cssclass="button2" 
                                 OnClick="btPreviousPage_Click" Text="Previous Page" />
                <p class="button2Right"></p>
            </td>
            <td class="middle">
            <asp:Repeater ID="pageNumbers" runat="server" OnItemCommand="pageNumbers_ItemCommand">
                <HeaderTemplate>
                    <ul>This is the header template</ul>
                </HeaderTemplate>
                <ItemTemplate>
                    <li class='<%#DataBinder.Eval(Container.DataItem,"PCssClass")%>'>
                        <asp:LinkButton ID="LinkButton1" CommandName="prefixLink" 
                                        CommandArgument='<%#DataBinder.Eval(Container.DataItem,"PText")%>' 
                                        runat="server" 
                                        Text='<%#DataBinder.Eval(Container.DataItem,"PText")%>' />
                    </li>
                </ItemTemplate>
                <FooterTemplate>
                      <ul>This is the footer template</ul>
                </FooterTemplate>
            </asp:Repeater>
            </td>

            <td class="right">
                <p class="button2Left"></p>
                    <asp:Button ID="btNextPage" cssclass="button2" runat="server" OnClick="btNextPage_Click" Text="Next Page" />
                <p class="button2Right"></p>
            </td>
        </tr>
    </table>
4

1 に答える 1

0

コントロールのページ番号のクリックのイベントを処理する場合、両方のパネル/コントロールをデータで更新する別の関数があります。

于 2012-11-26T23:44:12.837 に答える