asp.net 在repeater控件中加按钮

在repeater中加入方法有两种方法:

第一种:是对repeater控件的行添加OnItemCommand事件,添加方法也是有两种

1.在设计页面中,选中repeater控件右击==>属性==>属性栏中的事件标签(闪电符号)==>双击ItemCommand

2.在写代码,也是可以实现。

<asp:Repeater ID="rptDataList" runat="server" 
                    onitemcommand="rptDataList_ItemCommand" >
                    <ItemTemplate>
                        <tr>
                            <td>
                                <asp:LinkButton ID="lbnCopy" runat="server" CommandArgument='<%#Eval("ConferenceNo") %>'  CommandName="copy" >複写</asp:LinkButton>
                            </td>
                            <td align="center">
                                <a href="#">
                                    <%#Eval("ConferenceNo")%></a>
                            </td>
                            <td>
                                <%#Eval("ConferenceSts")%>
                            </td>
                            <td align="right">
                                <%#Eval("ConfStartTime")%>
                            </td>
                            <td>
                                <%#Eval("ConferenceName")%>
                            </td>
                            <td>
                                <%#Eval("CaseName")%>
                            </td>
                            <td>
                                <%#Eval("EstmAmount")%>
                            </td>
                            <td>
                                <%#Eval("HoldingMode")%>
                            </td>
                            <td align="center">
                                <%#Eval("RiskLevel")%>
                            </td>
                            <td align="center">
                                <%#Eval("SalesCategory")%>
                            </td>
                            <td>
                                <%#Eval("CustCd")%>
                            </td>
                            <td>
                                <%#Eval("CustName")%>
                            </td>
                            <td>
                                <%#Eval("ProductionDept")%>
                            </td>
                            <td>
                                <%#Eval("HoldingDept")%>
                            </td>
                            <td>
                                <%#Eval("ProjectNo")%>
                            </td>
                            <td>
                                <%#Eval("ProjectName")%>
                            </td>
                            <td>
                                <%#Eval("Role")%>
                            </td>
                            <td>
                                <%#Eval("VoteDeliberResult")%>
                            </td>
                            <td align="center">
                                <%#Eval("Vote")%>
                            </td>
                        </tr>
                    </ItemTemplate>
                </asp:Repeater>

现在是对repeater的行注册了事件,但是我们是要实现其内部按钮功能,还有就是如何判断我们要操作行,这里主要使用的是CommandArgument属性,设置CommandArgument绑定主键的字段,  CommandName主要用于区分此行执行的是哪个操作。页面代码如上,现在说说.cs的代码:

protected void rptDataList_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "copy") 
            {
                string l_strConferenceNo = e.CommandArgument.ToString();
            }
        }

第二种:对按钮添加OnClick事件

<asp:Repeater ID="rptDataList" runat="server"  >
                    <ItemTemplate>
                        <tr>
                            <td>
                                <asp:LinkButton ID="lbnCopy" runat="server" OnClick="lbnCopy_Click" CommandArgument='<%#Eval("ConferenceNo") %>' CommandName="copy" >複写</asp:LinkButton>
                            </td>
                            <td align="center">
                                <a href="#">
                                    <%#Eval("ConferenceNo")%></a>
                            </td>
                            <td>
                                <%#Eval("ConferenceSts")%>
                            </td>
                            <td align="right">
                                <%#Eval("ConfStartTime")%>
                            </td>
                            <td>
                                <%#Eval("ConferenceName")%>
                            </td>
                            <td>
                                <%#Eval("CaseName")%>
                            </td>
                            <td>
                                <%#Eval("EstmAmount")%>
                            </td>
                            <td>
                                <%#Eval("HoldingMode")%>
                            </td>
                            <td align="center">
                                <%#Eval("RiskLevel")%>
                            </td>
                            <td align="center">
                                <%#Eval("SalesCategory")%>
                            </td>
                            <td>
                                <%#Eval("CustCd")%>
                            </td>
                            <td>
                                <%#Eval("CustName")%>
                            </td>
                            <td>
                                <%#Eval("ProductionDept")%>
                            </td>
                            <td>
                                <%#Eval("HoldingDept")%>
                            </td>
                            <td>
                                <%#Eval("ProjectNo")%>
                            </td>
                            <td>
                                <%#Eval("ProjectName")%>
                            </td>
                            <td>
                                <%#Eval("Role")%>
                            </td>
                            <td>
                                <%#Eval("VoteDeliberResult")%>
                            </td>
                            <td align="center">
                                <%#Eval("Vote")%>
                            </td>
                        </tr>
                    </ItemTemplate>
                </asp:Repeater>
protected void lbnCopy_Click(object sender, EventArgs e)
        {
            string l_strConferenceNo=((LinkButton)sender).CommandArgument.ToString();
        }
原文地址:https://www.cnblogs.com/WarBlog/p/4462309.html