你好,我希望這會很容易有人回答。首先,我試圖製作綁定到DataPager
的ListView
,並將其放入ASP.NET UpdatePanel
中,以便爲我的數據庫中的記錄製作AJAX驅動的尋呼機。我抓住一個UpdatePanel
和我放置:使用Asp.Net ListView和Asp.Net Ajax更新面板
SqlDataSource
ListView
- 具有ItemTemplate
包括一個ImageButton
和其他一些ASP.NET控件在它DataPager
在ContentTemplate
。將DataPager
ID分配給UpdatePanel
的觸發字段中的AsyncPostbackTrigger
完美工作。
我也想在ImageButton
Click
事件中執行完整的回傳。但是,因爲ImageButton
位於ListView
之內,所以UpdataPanel
會導致部分回傳。我嘗試將ImageButton添加爲UpdatePanel
PostBackTrigger
,但UpdatePanel
需要控件ID,並且不會接受ImageButton
,因爲它位於ListView
之內。
如何向ListView
中的ItemTemplate
中的某個元素傳遞一個控制ID,併成功導致完全回發?
這裏是我的代碼:
<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>
你能否提供一些示例代碼! –
nvm我做到了。非常感謝SIR :) –