ASP.Net Web中Repeater怎么删除指定行

使用OnItemCommand事件

首先附上相关的代码

<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
                <ItemTemplate>
                    <table>
                        <div>
                            <tr>
                                <td><%#Eval("id")%></td>
                                <td><%#Eval("name")%></td>
                                <td><%#Eval("spec")%></td>
                                <td>
                                    <asp:Image ID="Image1" runat="server" ImageUrl='<%#"~/img/"+Eval("pic")%>' Width="30" Height="50" /></td>
                                <td><%#Eval("nums")%></td>
                                <td><%#Eval("stockdate")%></td>
                                <td>
                                    <asp:Button ID="Button2" runat="server" CommandArgument='<%#Eval("id") %>' CommandName="Delete" Text="删除" /></td>
                            </tr>
                        </div>
                    </table>
                </ItemTemplate>
            </asp:Repeater>

可以看大我给删除按钮的button设置了两个属性,一个是id赋给的CommandArgument,因为删除的时候要用id删除
一个是事件的名字,CommandName=delete,然后打开拆分页面,双击Repeater
在这里插入图片描述
进入后台,自动生成的方法

   protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            //这里获取的是,判断我进来的CommandName,我现在是删除,
            //当有编辑操作的时候,在把CommandName附上别的值
            String str = e.CommandName.ToString();
            if (str == "Delete")
            {
                //这里获取id,我的id是刚才我赋值的时候CommandArgument是赋值的id
                int id =Convert.ToInt32( e.CommandArgument);
                //后面是对数据库的操作,可以忽略
                if (equipmentBLL.sc(id))
                {
                    Label1.Text = "删除成功";
                    shuaxing();
                }
                else
                {
                    Label1.Text = "删除失败";
                }
            }
            
        }

操作完成

posted @ 2020-03-31 17:23  南墙1  阅读(137)  评论(0编辑  收藏  举报