我如何为ASP.NET中的Button创建EventHandler

时间:2012-07-20 11:19:02

标签: c# asp.net events listview event-handling

我的问题:

我有一个ASP.NET应用程序并使用ListView。我从Active Directory获取Datalines(eMail,用户名,名字等..)并将其填入我的ListView。每一行都有一个按钮“显示”,这个按钮我想要另一个WebForm。通过会话,我将数据交给其他WebForm。 我的代码:

  

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

              //Every Line get a Button
            <td align="left"><asp:Button ID="Button1" Text ="Anzeigen" runat="server" /></td>

        </tr>

    </ItemTemplate>

    </asp:ListView>

Button有一个onClick =“...”参数,但我如何为此创建一个事件以及如何使用正确的会话信息转移到其他WebForm。我想我必须使用Line中的Index:/

我需要帮助:(

塔拉索夫

1 个答案:

答案 0 :(得分:0)

试试这个 在你的aspx中你做了

<asp:Button ID="Button1" OnCommand="Button1_Command" CommandArgument='<%# eval("ID") %>' CommandName="Anzeigen" runat="server" Text="Button" />
在你背后的代码中

    protected void Button1_Command(object sender, CommandEventArgs e)
    {
        if (e.CommandName == "Anzeigen")
        {
            string sID = e.CommandArgument.ToString();
            int id = 0;
            int.TryParse(sID, out id);

            if (id > 0)
            { 
             // do stuff
            }
        }
    }