2011-08-11 138 views
1

我有一個分頁的多列ListView與ImageButton和LinkBut​​ton的項目。刪除和選擇命令正在工作。我無法觸發SelectedIndexChanging事件,並且SelectIndex在Select命令處理程序中始終爲-1。我想我有按照文檔所需的選擇按鈕。我的最終目標是保存項目的索引,因此當我返回頁面時,我可以恢復當前的ListView尋呼機頁面,以便所選項目可見。但我無法獲得物品索引。這是爲asp.net 4.0 webforms。ListView選擇索引

<asp:ListView ID="ListView1" runat="server" OnItemDataBound="ListView1_ItemDataBound" 
    DataKeyNames="ItemID" DataSourceID="ObjectDataSource1" 
    OnItemCommand="ListView1_ItemCommand" GroupItemCount="2" 
    onselectedindexchanging="ListView1_SelectedIndexChanging"> 
    <LayoutTemplate> 
    <table width="100%"> 
     <tr> 
     <td> 
      <table class="sample" width="100%"> 
      <asp:PlaceHolder runat="server" ID="groupPlaceHolder"></asp:PlaceHolder> 
      </table> 
     </td> 
     </tr> 
    </table> 
    </LayoutTemplate> 
    <GroupTemplate> 
    <tr> 
     <asp:PlaceHolder runat="server" ID="itemPlaceHolder"></asp:PlaceHolder> 
    </tr> 
    </GroupTemplate> 
    <ItemTemplate> 
    <td> 
     <asp:ImageButton ID="btnDelete" ToolTip="Delete" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ItemID")%>' CommandName="DeleteItem" Height="12" ImageUrl="resources/delete.gif" Width="12" /> 
     <asp:LinkButton ID="btnSelect" runat="server" CommandName="Select" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ItemID")%>'><%# DataBinder.Eval(Container.DataItem, "ItemName") %></asp:LinkButton> 
     <asp:Label ID="ccLabel" runat="server"></asp:Label>&nbsp;&nbsp;&nbsp; 
    </td> 
    </ItemTemplate> 
</asp:ListView> 
+0

我想我會嘗試DataPager.StartRowIndex屬性,而不是堅持它爲用戶返回頁面。 –

回答

1

如果您發佈代碼(SelectedIndexChanging),它會有所幫助。但在任何情況下,一個想法:

SelectedIndexChanging不會給你選定的索引,因爲該索引還沒有真正被選中。使用SelectedIndexChanged代替。這在索引被選擇後發生,所以可以給你一個值。

+0

現在在SelectedIndexChanging中沒有代碼,只是NewSelectedIndex的Debug.WriteLine,但它不會觸發。我添加了一個SelectedIndexChanged處理程序,它從不會觸發。 –

+0

而不是在標記('onselectedindexchanging =「ListView1_SelectedIndexChanging =>'''',''''''''''''''''''''中嘗試完成它的功能嗎?雙擊你的列表視圖,然後在打開的代碼背後確定它是'onselectedinexchanged',然後把你的代碼放在那裏,它不能解釋爲什麼你當前的方法不起作用,但是如果它起作用,至少問題就解決了。 – Chains