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

标签 c# asp.net listview active-directory itemcommand

我有一个带有 ListView 的 ASP.NET 应用程序。在我的 ListView 的每一行中,我都有一个 LinkBut​​ton 可以打开一个新的网络表单“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>

...

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");

            }
        }

...

怎么了:(

塔拉索夫

最佳答案

试试这个:

首先你需要有按钮的索引。因此,在 html 代码中,将此添加到按钮的 CommandArgument 中以获取索引:

CommandArgument='<%# Container.DataItemIndex %>'

然后在代码隐藏中:

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

           Session["email"] = email;           

           Response.Redirect("Benutzer.aspx");           
}

希望对你有帮助

关于c# - 我如何在我的 ASP.NET 应用程序中为我的 ListView 使用 ItemCommand 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11611291/

相关文章:

c# - 如何在调试输出窗口中删除不需要的消息 - Xamarin on visual studio

c# - 如何验证 string.Format 方法的格式

c# - 更新具有相同属性的不同对象

c# - 从使用方法作为参数的方法返回字符串

c# - FileHelpers:搜索结果

sql - 执行超时已过期 - 随机用于简单的更新命令

c# - 如何解决使用Microsoft帐户登录时出现AADSTS700016错误?

android - Listview 和 CustomAdapter 扩展 SimpleCursorAdapter

android - 带有自定义 View 的多项选择列表?

android - 最大化 ListView 中的可见行