Active Directory からデータを取得する ASP.NET アプリケーションを作成しました。ListView を使用してこのデータを表示します。ユーザーは文字列 (姓またはその一部) を TextBox に入力します。ListView よりも、TextBox からの同じ文字列を持つすべての AD ユーザーを一覧表示します。すべての行には、ユーザーに関する詳細情報を取得するためのボタン「Anzeigen」があります。この ListView には 6 つの列があり、すべての行にユーザーが表示されます。列番号 6 のボタンは「Anzeigen」です。ユーザーがこのボタンをクリックすると、この選択したユーザーに関する詳細情報を含む新しい Web フォーム "benutzer.aspx" が開き、行からセッション値 "email" が取得されます。
私の問題:
セッション値に必要な 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>
...
検索して listview selectedindices を見つけましたが、機能しません:(そして、 Application で使用できません。
タラソフ