我編寫了一個從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