2012-07-21 3 views
1

내 상황 :세션에 대한 ListView 항목의 정보를 얻는 방법

Active Directory에서 데이터를 가져 오는 ListView가 있습니다. 사용자가 TextBox에 문자열 (성 또는 그 일부)을 입력합니다. ListView보다 TextBox에서 동일한 문자열을 가진 모든 AD 사용자를 나열하십시오. 모든 라인은 사용자에 대한 더 많은 정보를 얻기 위해 "Anzeigen"버튼을 얻습니다. 두 번째 WebForm "Benutzer.aspx"는이 사용자에 대한 정보를 표시합니다. 두 번째 WebForm에 대해 선택한 사용자의 Value (ID 또는 전자 메일)가 필요하다고 생각합니다. 그래서 저는 세션이 필요합니다. 그래서 "Anzeigen"버튼을 클릭하면 eMail 또는 ect의 가치가 필요합니다. 이 실제로 ListView의 Line.

내 문제 :

내가이있는 ListView 라인의 다른 정보를 얻을 수있는 방법을 모르겠어요. 나는 일종의 색인이 필요하거나 세포를 통제해야한다고 생각합니다.

내 코드 :

ASPX

<asp:ListView runat="server" ID="myListView"> 

     <LayoutTemplate> 
      <table id="UserTable" runat="server" border="0" cellspacing="10" cellpadding="5"> 
       <tr id="Tr1" runat="server"> 
        <th id="Th1" runat="server">Benutzer</th> 
        <th id="Th2" runat="server">eMail</th> 
        <th id="Th3" runat="server">Vorname</th> 
        <th id="Th4" runat="server">Nachname</th> 
        <th id="Th5" runat="server">Telefon</th> 
       </tr> 
       <tr runat="server" id="ItemPlaceholder"> 
       </tr> 
      </table> 
     </LayoutTemplate> 

     <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> 

     </asp:ListView> 

CS

protected void Button1_Command(object sender, CommandEventArgs e) 
     { 
      if (e.CommandName == "Anzeigen") 
      { 
       //Here I need a Session and the Informations about the Selected User in the Line 

       Response.Redirect("Benutzer.aspx"); 

      } 
    } 

tarasov

답변

1

내가 올바르게, 당신은 목록에 이메일을 보여주는 레이블에 참조가 필요 unerstand 경우 전망. 먼저 참조를 얻으려면 아래 코드를 참조하십시오.

+0

레이블 l = (레이블) myListView.Items [1] .FindControl ("Label2"); – Tarasov

+0

레이블 lb = (레이블) myListView.Items (1) .FindControl ("Label2"); // ..Items (1)이 제 코드에서 잘못되었습니다 ... 그리고 [1]이 맞습니다 ... 왜? ^^ – Tarasov

+0

@Tarasov 당신은 C#이나 VB를 사용하고 있습니까? 만약 C# 그럼 항목이 있어야합니다 1 VB는 항목 (1) –

관련 문제