こんにちは、誰かが簡単に答えられることを願っています。最初に、ASP.NETにListView
バインドして、データベースのレコード用に AJAX を利用したページャーを作成しようとしていました。をつかんで配置しました:DataPager
UpdatePanel
UpdatePanel
SqlDataSource
ListView
- 1 つまたは複数の他の ASP.NET コントロールをItemTemplate
含めるImageButton
DataPager
でContentTemplate
。のトリガー フィールドにDataPager
ID を割り当てると、完全に機能しました。AsyncPostbackTrigger
UpdatePanel
また、イベントで完全なポストバックを実行したいと考えていましたImageButton
Click
。ただし、ImageButton
は の内部にあるためListView
、UpdataPanel
によって部分的なポストバックが発生します。ImageButton を として追加しようとしましたUpdatePanel
PostBackTrigger
が、はコントロール ID を要求し、 の中にあるためUpdatePanel
を受け入れません。ImageButton
ListView
ItemTemplate
内の要素のコントロール ID を渡してListView
、完全なポスト バックを正常に発生させるにはどうすればよいですか?
これが私のコードです:
<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="«" ShowNextPageButton="False" ShowPreviousPageButton="false" />
<asp:NumericPagerField />
<asp:NextPreviousPagerField ShowLastPageButton="True" LastPageText="»" ShowPreviousPageButton="False" ShowNextPageButton="false" />
</Fields>
</asp:DataPager>
</p>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DataPagerForAlbums" />
</Triggers>
</asp:UpdatePanel>