我如何在ASP.NET应用程序中为ListView使用ItemCommand事件

Tar*_*sov 5 c# asp.net listview active-directory itemcommand

我有一个带有ListView的ASP.NET应用程序.在ListView的每一行中,我都有一个LinkBut​​ton,它打开一个新的webform"Benutzer.aspx".我的问题是我没有得到这一行的索引.我使用ItemCommand事件,但它不起作用:(

在这里我的代码:

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:LinkButton runat="server" Text="Anzeigen" CommandName="Anzeigen" OnCommand="ListView1_ItemCommand" CommandArgument="myArguments"></asp:LinkButton></td>

            </tr>

        </ItemTemplate>

...
Run Code Online (Sandbox Code Playgroud)

cs文件:

...

protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            if (e.CommandName == "Anzeigen")
            {
                Label lbText = (Label)e.Item.FindControl("Label2");

               string email = lbText.Text;

               Session["email"] = email;

               Response.Redirect("Benutzer.aspx");

            }
        }

...
Run Code Online (Sandbox Code Playgroud)

有什么事 :(

塔拉索夫

Ibr*_*ata 6

试试这个:

首先,您需要拥有按钮的索引.所以在html代码中,在按钮的CommandArgument中添加它以获取索引:

CommandArgument='<%# Container.DataItemIndex %>'
Run Code Online (Sandbox Code Playgroud)

然后在代码隐藏中:

if (e.CommandName == "Anzeigen")
{
      Label lbText = ListView1.Item[e.CommandArgument].FindControl("Label2");
      string email = lbText.Text;           

           Session["email"] = email;           

           Response.Redirect("Benutzer.aspx");           
}
Run Code Online (Sandbox Code Playgroud)

希望我帮助过