由于上网不是很方便 百度了 还是没能解决 希望高抬贵手解决下
aspx页面
<table width="90%" class="tableselect" id="myTable" align="center" border="1px">
                    <tr>
                        <th>
                            <input id="CheckAll" type="checkbox" value="CheckAll" name="All" />
                        </th>
                        <th>
                            序列号
                        </th>
                        <th>
                            文件编号
                        </th>
                        <th>
                            文件路径
                        </th>
                        <th>
                            文件大小
                        </th>
                        <th>
                            文件类型
                        </th>
                        <th>
                            创建人
                        </th>
                        <th>
                            创建时间
                        </th>
                        <th>
                            修改人
                        </th>
                        <th>
                            修改时间
                        </th>
                        <th>
                            相关操作
                        </th>
                    </tr>
                    <asp:Repeater ID="RepeaterShow" runat="server">
                        <ItemTemplate>
                            <tr onmouseover="this.style.backgroundColor='#B6D2E0'" onmouseout="this.style.backgroundColor=''">
                                <td>
                                    <asp:CheckBox ID="CheckBox1" runat="server" />
                                </td>
                                <td>
                                    <%# Container.ItemIndex+1%>
                                </td>
                                <td>
                                    <asp:Label ID="Labfileid" runat="server" Text='<%#Eval("FileId").ToString().Length > 10 ? Eval("FileId").ToString().Substring(0, 10)+"...." : Eval("FileId")%>'></asp:Label>
                                </td>
                                </td>
                                <td>
                                    <asp:Label ID="LABFIlePath" runat="server" ToolTip='<%#Eval("FilePath") %>'><%#Eval("FilePath").ToString().Length > 30 ? Eval("FilePath").ToString().Substring(0, 30)+"...." : Eval("FilePath")%></asp:Label>
                                </td>
                                <td>
                                    <%#Eval("FileSize")%>
                                </td>
                                <td>
                                    <%#Eval("Decription")%>
                                </td>
                                <td>
                                    <%#Eval("CreateBy").ToString().Length > 10 ? Eval("CreateBy").ToString().Substring(0, 10) + "...." : Eval("CreateBy")%>
                                </td>
                                <td>
                                    <%#Eval("CreateOn") %>
                                </td>
                                <td>
                                    <%#Eval("ModefyBy").ToString().Length > 10 ? Eval("ModefyBy").ToString().Substring(0, 10) + "...." : Eval("ModefyBy")%>
                                </td>
                                <td>
                                    <%#Eval("ModefyOn")%>
                                </td>
                                <td>
                                    <img src="img/imgfolder.gif" /><a href='DownFile.aspx?id=<%#Eval("FileId")%>'>下载</a>
                                    <img src="img/trash.gif" />
                                    <a id="deletefileid" value='<%#Eval("FileId")%>' onclick="deletebyId()">删除</a>
                                </td>
                            </tr>
                        </ItemTemplate>
                    </asp:Repeater>
                </table>谢谢

解决方案 »

  1.   

    2个办法,第一个是再客服端的时候全选的时候把id获取到赋值给隐藏域格式为:1,2,3,
    第二个办法就是在Repeater的xx_RowCommand中获取选中的checkbox的值,格式为1,2,3,
    最后把最后一个“,”substring掉。然后就执行你的删除方法吧。这里的关键是获取checkbox的值。
      

  2.   

    页面上放个隐藏域HF 存IDList<int> l = new List<int>();
            foreach (RepeaterItem item in RepeaterShow.Items)
            {
                CheckBox cb = item.FindControl("CheckBox1") as CheckBox;
                if (cb != null && cb.Checked)
                {
                    HiddenField fld = item.FindControl("HF") as HiddenField;
                    if (fld != null)
                    {
                        int id = Convert.ToInt32(fld.Value);
                        l.Add(id);
                    }
                }
            }
            new BLL.A_Combination().Delete(l);
      

  3.   

     <script type="text/javascript">
            function selectAll() {
                var ifChecked = $("#cbAll").attr("checked")
                var single = $(":checkbox[name='single']");
                single.attr("checked", ifChecked);
            }        function GetSelID() {
                var sel = $(":checkbox[name='single'][checked]");
                for (var i = 0; i < sel.length; i++) {
                    $("#<%=hLabIDs.ClientID %>").val(function () {
                        return this.value + sel[i].value + ",";
                    });            }
            }
           
        </script> //脚本
    隐藏域: <input type="hidden" id="hLabIDs" runat="server" /> <input id="cbSingle" name="single" type="checkbox" value='<%# Eval("InventeID") %>' />
    后台.cs
      protected void btn_All_Click(object sender, EventArgs e)
            {
                
                string hidall = hLabIDs.Value;
                in_bll.Add_Invent_Member(hidall, UserID)
                //我用的存储过程写的...
    }存储过程
    create  procedure [dbo].[sp_invent_labmember]
     
     @UsersString nvarchar(1024)
    ,@UserID intas  declare @location int
      declare @start int
      declare @length int 
      declare @InventID nvarchar(30)
      declare @Flag int
      declare @Creator int
      declare @xx bit
      
     
      
      set @UsersString=ltrim(rtrim(@UsersString))  --去掉空格
      set @location=charindex(',',@UsersString)  --返回,的索引
      
        set @start = 1
        set @length =LEN(@UsersString)    
      while (@location>@start )
      begin
        set @Flag=0
        set @Creator=0
        set @InventID= substring(@UsersString,@start,@location-@start)
        select @Creator=COUNT(*) from invented_labInfo where invented_labInfo.InventeID=@InventID and invented_labInfo.CreateUserID=@UserID
       if(@Creator<1)
        begin
        select @Flag = COUNT(*) from invented_labmember where  invented_labmember.InventID=@InventID and invented_labmember.UserID=@UserID
    if(@Flag<1)
    begin
    ---MemberStatus  1为:申请 2为:正式成员 3为:无效成员
    insert into invented_labmember (InventID,UserID,JoinDate,MemberStatus)
    values(@InventID,@UserID,GETDATE(),1) 


    end
        set @start=@location+1
        set @location=charindex(',',@UsersString,@start) 
        
      end
        else
        begin
          return 0
        end
      end
      --最后一个用户,如果有
      if (@length>@start)
      begin
      set @Creator=0
      set @Flag=0
        set @InventID= substring(@UsersString,@start,@length-@start+1)
          select @Creator=COUNT(*) from invented_labInfo where invented_labInfo.InventeID=@InventID and invented_labInfo.CreateUserID=@UserID
       if(@Creator<1)
        begin
        select @Flag = COUNT(*) from invented_labmember where  invented_labmember.InventID=@InventID and invented_labmember.UserID=@UserID
    if(@Flag<1)
    begin
    insert into invented_labmember (InventID,UserID,JoinDate,MemberStatus)
    values(@InventID,@UserID,GETDATE(),1) 
    end
    end
     else
        begin
           return 0
        end
     end
      
      

  4.   


    2个办法,第一个是再客服端的时候全选的时候把id获取到赋值给隐藏域格式为:1,2,3,
    第二个办法就是在Repeater的xx_RowCommand中获取选中的checkbox的值,格式为1,2,3,
    最后把最后一个“,”substring掉。然后就执行你的删除方法吧。这里的关键是获取checkbox的值。
      

  5.   

    放个CHECKBOX然后FINDCONTROL,然后把要删除的回发删除掉重新绑定.
      

  6.   

    这种方法可以啊!用脚本可以的到(getElementByname("checkAll"))得到的是一个数组然后你把数组返回不就可以进行删除了