zoukankan      html  css  js  c++  java
  • ASP.NET+ashx+jQuery动态添加删除表格

    aspx:

    <script src="../script/jquery-1.4.4.min.js" type="text/javascript" language="javascript"></script>
    <script language="javascript" type="text/javascript">
            var proID = <%=id %>;
            var flag = 'True';
            
            $(function(){
                readStage();
            });
            
            function readStage(){
                $.get(
                    'readstage.ashx?ajax=true&random=' + Math.random(),{'proID':proID},
                    function(result){
    //                var result = [
    //                                {"StageName":"Brett","ProName":"McLaughlin","ID":"1"},
    //                                {"StageName":"Jason","ProName":"Hunter","ID":"2"},
    //                                {"StageName":"Elliotte","ProName":"Harold","ID":"3"}
    //                             ];
                        addnewRow(eval(result));
                    }
                );
            }
            
             function addnewRow(values){
                clearRow();        
                if(values.length == 0){
                    var newTr = stageTable.insertRow(1);
                    var newTd1 = newTr.insertCell(0);
                    newTd1.setAttribute("colSpan",5);
                    newTd1.innerHTML = '暂无数据记录...';
                }
                
                if(flag == 'True'){
                    for(var i = 0; i < values.length; i++){
                        //新行
                        var newTr = stageTable.insertRow(i+1);
                        //序号
                        var newTd1 = newTr.insertCell(0);
                        newTd1.innerHTML = i + 1;
                        //阶段名称
                        var newTd2 = newTr.insertCell(1);               
                        newTd2.innerHTML = '<label id=' + values[i].StageName + ' type="text" alt="' + values[i].StageName + '" >' + values[i].StageName + '</label>';
                        //所属项目
                        var newTd3 = newTr.insertCell(2);
                        newTd3.innerHTML = values[i].ProName;
                        //修改
                        var newTd4 = newTr.insertCell(3);
                        newTd4.innerHTML = "<a href='#' id='edit'" + values[i].ID + "' onclick="editStage('" + values[i].ID + "','" + values[i].StageName + "')">修改</a>"; 
                        //删除
                        var newTd5 = newTr.insertCell(4);
                        newTd5.innerHTML = "<a href='#' id='del'" + values[i].ID + "' onclick="delStage('" + values[i].ID + "','" + values[i].StageName + "','Del')">删除</a>"; 
                    }
                }else{
                    for(var i = 0; i < values.length; i++){
                        //新行
                        var newTr = stageTable.insertRow(i+1);
                        //序号
                        var newTd1 = newTr.insertCell(0);
                        newTd1.innerHTML = i + 1;
                        //阶段名称
                        var newTd2 = newTr.insertCell(1);               
                        newTd2.innerHTML = '<label id=' + values[i].StageName + ' type="text" alt="' + values[i].StageName + '" >' + values[i].StageName + '</label>';
                        //所属项目
                        var newTd3 = newTr.insertCell(2);
                        newTd3.innerHTML = values[i].ProName;
                        //修改
                        var newTd4 = newTr.insertCell(3);
                        newTd4.innerHTML = "<a href='#' id='edit'" + values[i].ID + "' disabled = 'true' onclick="editStage('" + values[i].ID + "','" + values[i].StageName + "')">修改</a>"; 
                        //删除
                        var newTd5 = newTr.insertCell(4);
                        newTd5.innerHTML = "<a href='#' id='del'" + values[i].ID + "' disabled = 'true' onclick="delStage('" + values[i].ID + "','" + values[i].StageName + "','Del')">删除</a>"; 
                        }
                        
                    //隐藏阶段操作条
                    document.getElementById('searchtitle').className = 'hidediv';
                }
                 $('#stageTable').show();
                 //清空hidden
                 document.getElementById('hidStageID').value = 0;
            }
            
            //添加阶段
            function addStage(operate){
                var stageName = document.getElementById('txtStageName').value;
                var id = document.getElementById('hidStageID').value;
                if(stageName.length <= 0){
                    alert('阶段名称不能为空!');
                    return;
                }
                $.get(
                    'savestage.ashx?ajax=true&random=' + Math.random(),{'proID':proID,'stageName':stageName,'ID':id,'operate':operate},
                    function(result){
                        if(result == 'S'){
                            alert('保存成功!');
                            readStage();
                        }
                        else if(result == 'E'){
                            alert('保存失败!');
                        }
                        else if(result == 'M')
                        {
                        alert('修改成功!');
                        readStage();
                        }
                        else
                        {
                        alert('修改失败!');
                        }
                    }
                );
            }
            
            //清除多余的行
            function clearRow(){
                var signFrame = document.getElementById("stageTable");
                var rowscount = signFrame.rows.length;
                //循环删除行,从最后一行往前删除
                for(i=rowscount - 1;i >0; i--){
                 signFrame.deleteRow(i);
                }
            }
            
            //修改
            function editStage(id,stagename){
                document.getElementById('hidStageID').value = id;
                document.getElementById('txtStageName').value = stagename;
            }
            
            //删除
            function delStage(id,stageName,operate){
                if(confirm('确定要删除此信息?')){
                    $.get(
                    'delstage.ashx?ajax=true&random=' + Math.random(),{'proID':proID,'stageName':stageName,'ID':id,'operate':operate},
                    function(result){
                        if(result == 'S'){
                            alert('删除成功!');
                            readStage();
                        }else{
                            alert('删除失败!');
                        }
                    });
                }
            }
    
            function delMsg()
            {
                if(confirm('确定删除此项?'))
                {
                    $.get("delproject.ashx?ajax=true&random="+Math.random(),{"proID":proID},
                    function(result){
                    if(result == 'S')
                    {
                        alert('删除成功!');
                        window.location="projectlist.aspx";
                    }
                    else
                    {
                        alert('删除失败!');
                    }
                    });
                }
            }  
    
        </script>
    
    <div id="searchtitle">
    <table width="66%"  style="margin-top:10px" border="0" cellpadding="0" cellspacing="0">
      <tr>
           <td width="23%">阶段名称:<asp:TextBox ID="txtStageName" runat="server" class="input"></asp:TextBox></td>
           <td style="padding-left:10px" align="left"><input id="btnPost" type="button" value="保存" class="button" onclick="addStage('Add&Edit')"/></td>
      </tr>
    </table>
    </div>
        <asp:HiddenField ID="hidStageID" runat="server" />
    <table border="0"  id="stageTable" class="infolist" style="65%; margin-left:0" cellpadding="0" cellspacing="0">
          <thead>
              <tr>
                  <th width="10%">序号</th>
                  <th width="25%">阶段名称</th>
                  <th>所属项目</th>
                  <th style="border-right:1px solid #999999;" colspan="2" width="20%">操作</th>
              </tr>
          </thead>
          <tbody>
          </tbody>
    </table>
    View Code


    readstage.ashx:

    public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                //context.Response.Write("Hello World");
                int projectID = Convert.ToInt32(context.Request["proID"]);
                //PM.BLL.tb_Stage stagebll = new PM.BLL.tb_Stage();
                //DataSet ds = stagebll.GetList(" ProjectID="+projectID);
                //context.Response.Write(ds);
                StringBuilder sb = new StringBuilder();
                string sql = "select * from tb_Stage where ProjectID="+projectID;
                DataSet ds = PM.DBUtility.DbHelperSQL.Query(sql);
                sb.Append("[");
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    sb.Append("{");
                    string stagename = ds.Tables[0].Rows[i]["StageName"].ToString();
                    sb.Append(""StageName":"" + stagename + """);
                    sb.Append(",");
                    string proname = returnProName(ds.Tables[0].Rows[i]["ProjectID"].ToString());
                    sb.Append(""ProName":"" + proname + """);
                    sb.Append(",");
                    string id = ds.Tables[0].Rows[i]["StageID"].ToString();
                    sb.Append(""ID":"" + id + """);
                    sb.Append("}");
                    if (i != ds.Tables[0].Rows.Count - 1)
                    {
                        sb.Append(",");
                    }
                }
                sb.Append("]");
                context.Response.Write(sb);
            }
    
            public string returnProName(string proid)
            {
                string str = new PM.BLL.tb_Project().GetModel(int.Parse(proid)).ProjectName;
                return str;
            }
    View Code

    savestage.ashx:

    public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                //context.Response.Write("Hello World");
                string stageName = context.Request["stageName"];
                int projectId = Convert.ToInt32(context.Request["proID"]);
                string operate = context.Request["operate"];
                int id = Convert.ToInt32(context.Request["ID"]);
                PM.Model.tb_Stage stagemod = new PM.Model.tb_Stage();
                stagemod.StageName = stageName;
                stagemod.ProjectID = projectId;
                stagemod.StageID = id;
    
                PM.BLL.tb_Stage stagebll = new PM.BLL.tb_Stage();
                if (id == 0)
                {
                    int i = stagebll.Add(stagemod);
                    if (i > 0)
                    {
                        context.Response.Write("S");//保存成功
                    }
                    else
                    {
                        context.Response.Write("E");//保存失败
                    }
                }
                else
                {
                    bool j = stagebll.Update(stagemod);
                    if (j == true)
                    {
                        context.Response.Write("M");//修改成功
                    }
                    else
                    {
                        context.Response.Write("ME");//修改失败
                    }
                }
            }
    View Code

    delstage.ashx:

    public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                //context.Response.Write("Hello World");
                int stageId = Convert.ToInt32(context.Request["ID"]);
                        PM.BLL.tb_Stage stagebll = new PM.BLL.tb_Stage();
                        bool res = stagebll.Delete(stageId);
                        if (res == true)
                        {
                            context.Response.Write("S");
                        }
                        else
                        {
                            context.Response.Write("E");
                        }
            }
    View Code

     

  • 相关阅读:
    稳扎稳打Silverlight(13) 2.0交互之鼠标事件和键盘事件
    稳扎稳打Silverlight(17) 2.0数据之详解DataGrid, 绑定数据到ListBox
    再接再厉VS 2008 sp1 + .NET 3.5 sp1(2) Entity Framework(实体框架)之详解 Linq To Entities 之一
    稳扎稳打Silverlight(8) 2.0图形之基类System.Windows.Shapes.Shape
    稳扎稳打Silverlight(11) 2.0动画之ColorAnimation, DoubleAnimation, PointAnimation, 内插关键帧动画
    稳扎稳打Silverlight(21) 2.0通信之WebRequest和WebResponse, 对指定的URI发出请求以及接收响应
    稳扎稳打Silverlight(16) 2.0数据之独立存储(Isolated Storage)
    稳扎稳打Silverlight(9) 2.0画笔之SolidColorBrush, ImageBrush, VideoBrush, LinearGradientBrush, RadialGradientBrush
    稳扎稳打Silverlight(23) 2.0通信之调用WCF的双向通信(Duplex Service)
    游戏人生Silverlight(1) 七彩俄罗斯方块[Silverlight 2.0(c#)]
  • 原文地址:https://www.cnblogs.com/liuswi/p/3625459.html
Copyright © 2011-2022 走看看