拼的代码 public string EasyMessary()
    {
        string EasyMessary = hideEasyMessary.Value;        string []arrMessary=EasyMessary.Split(','); 
    
        DataSet ds = nmbll.AllUseCheckboxDal(); 
     
        StringBuilder str = new StringBuilder();
        if (ds.Tables[0].Rows.Count > 0)
        {
            str.Append("<table><tr>");
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                if (arrMessary.Length> 0)
                {
                   
                        int count = 0;
                        for (int j = 0; j < arrMessary.Length; j++)
                        {
                            
                           if (arrMessary[j]==ds.Tables[0].Rows[i]["MeasureID"].ToString())
                          {
                               count++;
                              str.Append("<td><input type='checkbox' checked='checked' ID='check' runat='server' value=" + ds.Tables[0].Rows[i]["MeasureID"].ToString() + " />" + ds.Tables[0].Rows[i]["MeasureName"].ToString() + "</td>");
                              break;
                          }
                           
                        }
                        if (count==0)
                        {
                            str.Append("<td><input type='checkbox' onclick='Check('a','b')' ID='check' runat='server' value=" + ds.Tables[0].Rows[i]["MeasureID"].ToString() + " />" + ds.Tables[0].Rows[i]["MeasureName"].ToString() + "</td>");
                            if (i%2==0&&i!=0)
                            {
                                str.Append("<br/>");
                            }
                        }
                    
                  }
               
               
         }
            str.Append("</tr></table>");
     }
            return str.ToString();    }
在前台怎么获取checkbox,然后进行删除和恢复删除(勾上没有被删,除掉勾即被删除)

解决方案 »

  1.   

    doucment.getElementById
    结合 ajax
      

  2.   

    标记性,获取到当前的checkbox在更新字段。但是前台js代码不会写
      

  3.   

    前台就用js或者jQuery获取,根据ID,至于你说的删除和恢复删除我真心的是没有理解是什么意思
      

  4.   

    你先把下面的代码,保存为 a.html , 再运行看一下。<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
        <script type="text/javascript">
            //-------------   1. jQuery   ----------------------
            //删除
            function delAll(){
                var $chkTrs = $("#tbodyList :checked").parents("tr");
                if($chkTrs.length==0){
                    alert("请选择记录!");
                    return;
                }
                $chkTrs.remove();
            }
            //选择
            function chkAll(obj){
                //注: jQuery 1.6 之后应该用 prop 而不是用 attr 来控制属性checked
                $("#tbodyList :checkbox").prop("checked",obj.checked);
            }
            //-------------   2. js   ----------------------
            //删除
            function delAll_js(){
                var chks = document.getElementById("tbodyList").getElementsByTagName("input");
                var trArr = [];
                for(var i=0, len = chks.length; i<len;i++){
                    var chk = chks[i];
                    if(chks[i].checked){
                        trArr.push(chks[i].parentNode.parentNode);
                    }
                }
                if(trArr.length==0){
                    alert("请选择记录!");
                    return;
                }
                for(var i=0,len=trArr.length;i<len;i++){
                    trArr[i].parentNode.removeChild(trArr[i]);
                }
            }
            //选择
            function chkAll_js(obj){
                var chks = document.getElementById("tbodyList").getElementsByTagName("input");
                for(var i=0, len = chks.length; i<len;i++){
                    chks[i].checked = obj.checked;
                }
            }
        </script>
    </head>
    <body>
        <input type="button" onclick="delAll_js()" value="删除" />
        <table >
            <thead>
                <tr><th><input type="checkbox" onclick="chkAll_js(this)" /></th><th>Name</th></tr>
            </thead>
            <tbody id="tbodyList" >
                <tr><td><input type="checkbox" /></td><td>Tom</td></tr>
                <tr><td><input type="checkbox" /></td><td>Jack</td></tr>
                <tr><td><input type="checkbox" /></td><td>Andy</td></tr>
                <tr><td><input type="checkbox" /></td><td>Merry</td></tr>
            </tbody>
        </table>
    </body>
    </html>
      

  5.   

    LZ,其实根本不用你拼起来,后台可以直接实例化控件,让后把你的加入到你前台的标签当中前台<div id="div_test" runat="server"></div>
    后台代码
    CheckBox myCheckBox; for (int i = 0; i < 20; i++)
     {
    myCheckBox=new myCheckBox();
    myCheckBox.ID="cbo_check"+i.ToString();
    //这里myCheckBox属性和方法随你定义啦
    //........//myCheckBox定义完毕后
    把CheckBox添加到前台的DIV中就OK了!
    this.div_test.Controls.Add(myCheckBox)
    }}
                 
      

  6.   

    我的意思是在前台怎么获取我拼出来的checkbox的id,然后结合jason做删除和恢复删除
      

  7.   

    下面的代码, 基本是合符你的意思了。但是你还是要想办法调整一下。 毕竟我没有你的那些后台的真实数据。当然咯, 这些并不复杂。页面:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
        
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <input type="button" onclick="delFlag()" value="标识删除" />
            <input type="button" onclick="delRestore()" value="恢复删除" />
            <input type="button" onclick="del_Actual()" value="真正删除" />
            <%= this.chkHtml %>
        </div>
        </form>
    </body>
    <script type="text/javascript">
            //标识删除, 仅作标识,再隐藏
            function delFlag(){
                $("#tableList :checked").parents("tr").attr("delFlag","1").hide();
            }
            //恢复删除。将标识删除了的记录给恢复
            function delRestore(){
                $("#tableList tr[delFlag=1]").remove("delFlag").show();
            }
            //真正删除
            function del_Actual(){
                var idArr = [];
                var $delTrs =$("#tableList tr[delFlag=1]");
                idArr = $delTrs.find(":checkbox").map(function(){ return this.value; }).get();
                //页面上移除
                $delTrs.remove();
                
                alert("取到的要删除的checkbox的值:"+idArr);
                
                //后台删除:你可以用jQuery请求一个页面或者一般处理程序来做后台的删除
                $.post("xxx.ashx?ids="+idArr, function(){});
            }
        </script>
    </html>
    页面后置文件:
    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Text;public partial class _Default : System.Web.UI.Page
    {
        public string chkHtml = "";    protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack) 
            {
                BuildHtml();
            }
        }    private void BuildHtml()
        {
            StringBuilder sb = new StringBuilder();        sb.Append("<table id='tableList' >");
            sb.Append("<tr><td><input type='checkbox' id='MeasureID1' checked='checked' value='MeasureID1' />MeasureName1</td></tr>");
            sb.Append("<tr><td><input type='checkbox' id='MeasureID2' checked='checked' value='MeasureID2' />MeasureName2</td></tr>");
            sb.Append("<tr><td><input type='checkbox' id='MeasureID3' checked='checked' value='MeasureID3' />MeasureName2</td></tr>");
            sb.Append("</table>");        chkHtml = sb.ToString();
        }
    }