我编写了一个从Active Directory获取数据的ASP.NET应用程序。我使用ListView来显示这些数据。用户在TextBox中输入一个字符串(姓氏或这个的一部分)。与ListView相比,列出了TextBox中具有相同字符串的所有AD用户。每行都会得到一个按钮“Anzeigen”以获取有关用户的更多信息。此ListView有六列,每行显示一个用户。在第六栏是按钮“Anzeigen”。如果用户点击此按钮,则打开一个新的WebForm“benutzer.aspx”,其中包含更多的信息,不包含此选定的用户,并从该行获得会话值“email”。我如何获得ListView的右行索引
我的问题:
我不知道我是如何得到我需要的会话值ListView控件的行的索引。
我的代码:
CS文件:
protected void Button1_Command(object sender, CommandEventArgs e)
{
if (e.CommandName == "Anzeigen")
{
//This give me everyone the Value -1 back
int selectedLine = myListView.SelectedIndex;
//I need the Line Index for the right Value
Label lb = (Label)myListView.Items[selectedLine].FindControl("Label2");
string email = lb.Text;
Session["email"] = email;
Response.Redirect("Benutzer.aspx");
}
}
ASPX文件:
...
<ItemTemplate>
<tr runat="server">
<td align="left" ><asp:Label ID="Label1" Text='<%# Eval("Benutzer") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label2" Text='<%# Eval("eMail") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label3" Text='<%# Eval("Vorname") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label4" Text='<%# Eval("Nachname") %>' runat="server" /></td>
<td align="left"><asp:Label ID="Label5" Text='<%# Eval("Telefon") %>' runat="server" /></td>
<td align="left"><asp:Button ID="Button1" Text="Anzeigen" OnCommand="Button1_Command" CommandName="Anzeigen" CommandArgument="myArgument" runat="server" /></td>
</tr>
</ItemTemplate>
...
我搜索,我发现列表视图将selectedIndices但它不工作:(我不” t可在我的应用程序中使用它。
塔拉索夫
这给没有其他的方式来获得行索引? :/ – Tarasov 2012-07-23 07:41:40
为什么你需要一个行索引,如果你能得到完整的行和关键列值? – ZafarYousafi 2012-07-23 08:01:33
但它不工作:(我想用ItemCommand事件 – Tarasov 2012-07-23 11:39:37