Arbeiten mit Asp.Net ListView und Asp.Net Ajax Update Panel

Hallo, ich hoffe, das wird leicht sein, für jemanden zu beantworten. First off, ich versuchte ListView gebunden DataPager und in einem ASP.NET UpdatePanel um eine AJAX-powered-pager für die Datensätze aus meiner Datenbank. Ich schnappte mir ein UpdatePanel und ich gelegt:

  1. SqlDataSource
  2. ListView - unter ItemTemplate einschließlich einer ImageButton und einige andere ASP.NET Bedienelemente
  3. DataPager

in der ContentTemplate. Die Zuordnung der DataPager - ID, um die AsyncPostbackTrigger im UpdatePanel's trigger-Felder funktioniert einwandfrei.

Wollte ich auch durchführen, eine vollständige post-zurück in die ImageButton Click Veranstaltung. Da jedoch die ImageButton ist innerhalb der ListView, die UpdataPanel führt zu einer teilweisen post-back. Ich habe versucht, das hinzufügen der ImageButton als UpdatePanel PostBackTrigger, aber die UpdatePanel verlangt eine Steuerelement-ID, und nicht akzeptieren, die ImageButton da es innerhalb der ListView.

Wie gebe ich es ein Steuerelement-ID für ein element innerhalb ItemTemplate des ListView und erfolgreich führen eine vollständige post zurück?

Hier ist mein code:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate> 
        <asp:SqlDataSource ... ></asp:SqlDataSource>
        <asp:ListView ID="ListViewForAlbums" runat="server" >
            <ItemTemplate>
                <div class="album">
                    <asp:ImageButton ID="albumPhoto" class="albumPhotosStyle" runat="server" ImageUrl="<%# Bind('albumPhotoPath') %>" AlternateText="<%# Bind('album_id') %>" ToolTip="<%# Bind('albumDetails') %>" onclick="albumPhotos_Click"  />
                    <div class="albumInfoHolder">

                    ...

                    </div>
                </div> <!-- End Album -->
            </ItemTemplate>
            <EmptyDataTemplate>
                <p>No Albums Yet. Check Back Soon!</p>
            </EmptyDataTemplate>
        </asp:ListView>

        <asp:DataPager ID="DataPagerForAlbums" runat="server" PagedControlID="ListViewForAlbums" PageSize="3" >
            <Fields>
                <asp:NextPreviousPagerField ShowFirstPageButton="True" FirstPageText="&laquo" ShowNextPageButton="False"  ShowPreviousPageButton="false" />
                <asp:NumericPagerField />
                <asp:NextPreviousPagerField ShowLastPageButton="True" LastPageText="&raquo" ShowPreviousPageButton="False"  ShowNextPageButton="false" />
            </Fields>
        </asp:DataPager>
        </p>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="DataPagerForAlbums" />
    </Triggers>
</asp:UpdatePanel> 
Schreibe einen Kommentar