大侠们求救

我想在repeater中删除数据,在后台怎么获取Id
assellaeasern -
  • viesaffiskfub - 2个月前

    引用 5 楼 lookbug 的回复:

    首先在repeater中要删除的行创建,commandname="AnyString"和CommandArgument=<%#Eval("Id")%>
    然后在repeater的ItemCommand事件中:(我用的是ListView和repeater的ItemCommand事件用法一样)
    比如:
    protected void ListView1_ItemCommand(object se……


    正解!

  • viesaffiskfub - 2个月前

    首先在repeater中要删除的行创建,commandname="AnyString"和CommandArgument=<%#Eval("Id")%>
    然后在repeater的ItemCommand事件中:(我用的是ListView和repeater的ItemCommand事件用法一样)
    比如:
     protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
      {
      if (e.CommandName == "Delete")
      {
      int id = Convert.ToInt32(e.CommandArgument);
      NewsService.DeleteNewsById(id);
      }
      }

  • Kerkan - 2个月前

    HTML code

    
    <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
          <tr class="bgcolor_zblue">
            <td width="17%" align="center">订单号</td>                       
            <td width="13%" align="center">下单时间</td>
            <td width="4%" align="center">全选<br><input type="checkbox" name="selall" onclick='selectAll(this.form)'/></td>
          </tr>     
          <tr><td align="center" colspan="19"><asp:Label ID="lab_info" runat="server"></asp:Label></td></tr>
          <asp:Repeater ID="rpt" runat="server">
            <ItemTemplate>
          <tr onmouseover="this.bgColor='<%=Tools.OVER_COLOR%>'" bgcolor="<%=Tools.OUT_COLOR%>" onmouseout="this.bgColor='<%=Tools.OUT_COLOR%>'">
            <td height="26" align="center"><a href="orderInfo.aspx?ordid=<%# Eval("OrdID") %>" target="_blank"><%# Eval("OrdID") %></a></td>                    
            <td align="center"><%# Tools.ConvertDateTime(Eval("atime").ToString(),2) %></td>                            
            <td align="center"><asp:HiddenField ID="selid" runat="server" Value='<%# Eval("id") %>' /><asp:CheckBox ID="id" runat="server" /></td>
          </tr>
            </ItemTemplate>
          </asp:Repeater>
          <tr>
            <td colspan="19" align="right" class="bgcolor_qblue"><asp:Button ID="btn_del" runat="server" Text="删除" onclick="btn_del_Click"/>&nbsp;</td>
          </tr>
          <tr class="bgcolor_zblue">
            <td height="23" colspan="19" align="right"><asp:Label ID="lab_page" runat="server"></asp:Label></td>
          </tr>
        </table>
    
    


    C# code
    
    protected void btn_del_Click(object sender, EventArgs e)
    {
        string selid = Tools.GetRepeaterSelID(rpt, "id", "selid");
        if (selid != "")
        {
            DBConn myConn = new DBConn();       
            myConn.ExecSQL("delete from insure_order where id in(" + selid + ")");
            Response.Redirect(Request.Url.ToString());
        }
    } 
    
    


    C# code
    
    public static string GetRepeaterSelID(Repeater rpt, string checkBoxID, string hiddenFieldID)
        {
            string selid = "";
            foreach (RepeaterItem Item in rpt.Items)
            {
                CheckBox cb = (CheckBox)Item.FindControl(checkBoxID);
                if (cb.Checked)
                {
                    HiddenField hf = (HiddenField)Item.FindControl(hiddenFieldID);
                    if (selid == "")
                        selid = hf.Value;
                    else
                        selid += "," + hf.Value;
                }
            }
            return selid;
        }
    
    

  • updarmabemirm - 2个月前

    你的代码看看啊 帖一下

  • teageKedAgort - 2个月前

    repeater??是什么东西?

    利用问号传值,在后台写出要删除的?ID=""

  • amurcibia - 2个月前

    要说具体~~