想在asp.net中通过点击“+”按钮来动态创建多行控件,点击“—”删除创建的控件行,怎么做呀?

解决方案 »

  1.   

    第一排有个textbox按钮,比作内容一,然后旁边有个“+”,根据需求,我可能要用到内容2或内容3,或,但需要几个textbox不定,所以要动态的通过“+”来新增 textbox
      

  2.   

    使用asp.net ajax的UpdatePanel来包围你的这个控件的话,你可以在控件前边放一个button,在控件的下一行放一个PlaceHolder,然后当Button被点击的时候,它的Text属性切换“+、-”,同时当切换到-的时候在PlaceHolder中动态加载你要的控件(记得在page_load时当回发时要重建动态加载的控件。为了布局合理,可以两行两列的Table将这三个围起来。
      

  3.   

    jquery 添加TR
      

  4.   

    动态添加服务器控件(具体控件类型你自己决定):
    Control con = new Control();
    con.XXXX=XXX;属性赋值
    con.XXXX=XXX;
    con.XXXX=XXX;
    AAA.controls.add(con);//AAA是con的父控件动态添加事件:
    Control.Command += new CommandEventHandler(this.EventFun);  
      

  5.   

    参考:
    http://www.cnblogs.com/insus/articles/2037385.html
      

  6.   

    <asp:Table ID="Table1" runat="server">
                        <asp:TableRow>
                            <asp:TableCell>
                            <span style="width:156px;overflow:hidden; display:block; float:left; text-align:center">异常指标</span>
                            <span style="width:166px;overflow:hidden; display:block;float:left; text-align:center">引起指标异常的原因</span>
                            <span style="width:156px;overflow:hidden; display:block;float:left; text-align:center">常见疾患</span>
                            </asp:TableCell>
                        </asp:TableRow>
                        <asp:TableRow>
                            <asp:TableCell>
                                <uc1:PhyWork ID="PhyWork1" runat="server" />
                            </asp:TableCell>
                        </asp:TableRow>
                    </asp:Table>
                    <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
                    <asp:Button ID="Button3" runat="server" Text="加一项" OnClick="Button3_Click" CausesValidation="False" />
                </asp:Panel>    protected void Button3_Click(object sender, EventArgs e)
        {
            workBoxs();        if (ViewState["Count1"] == null)
            {
                ViewState["Count1"] = Convert.ToInt32(ViewState["Count1"]) + 1;
                int a = Convert.ToInt32(ViewState["Count1"]);
            }
            else
            {
                ViewState["Count1"] = Convert.ToInt32(ViewState["Count1"]) + 1;
                int b = Convert.ToInt32(ViewState["Count1"]);
            }
        }    private void workBoxs()
        {
            TableRow tr = new TableRow();
            TableCell tc1 = new TableCell();
            Control cc = this.LoadControl("~/MyworkBag/PhyWork.ascx");
            cc.ID = "tb1" + Table1.Rows.Count;
            tc1.Controls.Add(cc);
            tr.Cells.Add(tc1);
            Table1.Rows.Add(tr);
        }
      

  7.   

    <head>标签里面引进JQery:
    <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>;
    主体的JS:
    <script type="text/javascript">
            //hide <p>
            $(document).ready(function(){
                //$("p").click(function(){$(this).fadeOut("slow");});
                $("#img_style").fadeTo("slow",0.46);
                $("#img_style").mouseover(function(){$(this).fadeTo("fast",1);});
                $("#img_style").mouseout(function(){$(this).fadeTo("fast",0.46);});            
            });        
            
            // add method
             $(document).ready(function(){  
               $("#but").click(function(){
                 var $table=$("#tab tr");
                 var len=$table.length;
                 //debugger;
                    //alert(" content :"+"<tr id="+(len+1)+"><td align='center'>"+len+"</td><td align='center'>jQuery"+len+"</td><td align='center'><a href='#' onclick='deltr("+(len+1)+")'>删除</a></td></tr>");   
                     $("#tab").append("<tr id="+(len+1)+"><td align='center'>"+len+"</td><td align='center'>jQuery"+len+"</td><td align='center'><a href='#' onclick='deltr("+(len+1)+")'>删除</a></td></tr>");   
                  }) 
             })
             
            // delete method
             function deltr(index)
             {
                alert("tr[id='"+index+"']");
                $table=$("#tab tr");
                if(index>$table.length)
                  return;
                else
                {
                    $("tr[id='"+index+"']").remove(); 
                    //$("tr:gt('"+index+"')").each    
                    for(var temp=index+1;temp<=$table.length;temp++)
                    {
                        //$("#tab").append("<tr id="+(temp-1)+"><td align='center'>"+(temp-2)+"</td><td align='center'>jQuery"+(temp-2)+"</td><td align='center'><a href='#' onclick='deltr("+(temp-1)+")'>删除</a></td></tr>");
                        //$("tr[id='"+temp+"']").replaceWith("<tr id="+(temp-1)+"><td align='center'>"+(temp-2)+"</td><td align='center'>jQuery"+(temp-2)+"</td><td align='center'><a href='#' onclick='deltr("+(temp-1)+")'>删除</a></td></tr>");
                    } 
                } 
             }
        </script><body>标签里面的内容
    <div style="margin: 0 auto; text-align: center;">
            <table id="tab" border="1" style="border: 1px solid #336699; width: 100%; background-color: #999999;"
                cellpadding="0" cellspacing="1">
                <tr>
                    <td width="20%" align="center">
                        序号
                    </td>
                    <td align="center">
                        标题
                    </td>
                    <td align="center">
                        操作
                    </td>
                </tr>
            </table>
            <br />
        </div>
        <p style="display: block;">
            千回百转,轮回再三,遥望伊人,在水一方…… 晴空万里,忘川河边,奈何桥上,终身守望…… 似水流年,年华荏苒,容颜易老,此情难却…… 应该就是这样吧,我不喜欢悲剧,这诗句里的忘川让人有点郁闷,所以自己就把它写成喜剧了,同意楼上说的“经过一次又一次的轮回,心里仍然晴空万里,因为彼此的心中有着不被时间、空间阻隔的爱,容颜易老,时光易散,一年又一年,一世又一世,爱却永恒,心永恒”……</p>
        <img id="img_style" alt="改变透明度" src="images/test.jpg" />里面的一个图片透明度效果,俺测试用的,你可忽略