2015-11-21 117 views
1

我已经在谷歌和Bing搜索,看到所有帖子,甚至在stackoverflows搜索,但无法找到解决方案。asp:ListView SelectedIndexChanging not firing

要确保有关错误我创建它有1个网页,其中有一个新项目:

<asp:ListView runat="server" ID="ListView" DataSourceID="SqlDataSource" OnSelectedIndexChanged="ListView_OnSelectedIndexChanged" OnSelectedIndexChanging="ListView_OnSelectedIndexChanging"> 
    <ItemTemplate> 
     <asp:Label runat="server" ID="Label" Text='<%#Eval("UserName") %>' ></asp:Label><br/> 
    </ItemTemplate> 
</asp:ListView> 
<asp:SqlDataSource runat="server" ID="SqlDataSource" SelectCommand="Select * FROM Users" ConnectionString="<%$ConnectionStrings:DefaultConnection %>"></asp:SqlDataSource> 

输出:

enter image description here

,因为我已经2个用户名A和B.

现在的问题是,事件OnSelectedIndexChanged和OnSelectedIndexChanging不会触发,当我点击在A或B上。如何获取用户点击的选定索引?

如果有人想看完整的项目,其实没有必要:当一个项目的选择按钮被点击发生https://app.box.com/s/bhs682q6fqai784kao0zv1tcxgxecr4s

+0

请分享'OnSelectedIndexChanged'和'OnSelectedIndexChanging'写在代码隐藏。 – Prabhat

+0

断点处空着。调试器不输入它。 –

回答

1

ListView.SelectedIndexChanging事件,但ListView控件之前处理选择操作。 (选择按钮是一个按钮控件,其CommandName属性设置为“选择”。)

更改您的代码

<asp:ListView runat="server" ID="ListView" DataSourceID="SqlDataSource" OnSelectedIndexChanged="ListView_OnSelectedIndexChanged" OnSelectedIndexChanging="ListView_OnSelectedIndexChanging" AutoPostBack="true"> 
    <ItemTemplate> 
     <asp:Label runat="server" ID="Label" Text='<%#Eval("UserName") %>' ></asp:Label> 
     <asp:LinkButton runat="server" ID="ButtonSelect" CommandName="Select" Text="SelectButton"/><br/> 
    </ItemTemplate> 
</asp:ListView>