【代码笔记】动态添加删除带标题的表单控件【ASPX为基础.Net控件实现版】

动态添加删除带标题的表单控件 【ASPX为基础 .Net控件实现版】

ASPX

            <asp:Repeater ID="rptList" runat="server" OnItemDataBound="rptList_ItemDataBound" OnItemCommand="rptList_ItemCommand"> 
            <ItemTemplate>
            	<div class="li-table">
            		<!--"带标题"此语随具体需求有其意义 此处不用RowNum -->
            		<span>报名者<%# Container.ItemIndex+1 %></span>
            		<span class='<%# Container.ItemIndex==0?"display-none":"display-close" %>' >
	                	<asp:Button ID="btnDel" runat="server" OnClick="btnDel_Click" CssClass="closeBtn" />
                    </span>
					<div class="li_input">姓名:<asp:TextBox ID="txtName" runat="server" Text='<%# Eval("Name") %>'></asp:TextBox></div>
					<div class="li_input">年龄:<asp:TextBox ID="txtAge" runat="server" Text='<%# Eval("Age") %>'></asp:TextBox></div>
					<div class="li_input">性别:<asp:TextBox ID="txtSex" runat="server" Text='<%# Eval("Sex") %>'></asp:TextBox></div>
				</div>
            </ItemTemplate>
            </asp:Repeater>
            <div class="bottom-line">
                <asp:Button ID="btnAdd" runat="server" Text="添加" OnClick="btnAdd_Click" />
            </div>
            <div class="bottom-line">
                <asp:Button ID="btnSave" runat="server" Text="保存" OnClick="btnSave_Click" />
            </div>
           

ASPX.CS

        private void InitData()
        {
        	//根据需求也可以从数据库中读取数据 这样就不用添加行 此处RowNum为例 DataTable若无列则等同无数据
            DataTable dt = new DataTable();
            dt.Columns.Add("RowNum", typeof(int));
            DataRow dr = dt.NewRow();
            dr["RowNum"] = 1;
            dt.Rows.Add(dr);
            ViewState["datatable"] = dt;
            rptList.DataSource = dt;
            rptList.DataBind();
        }

        protected void btnAdd_Click(object sender, EventArgs e)
        {
            DataTable dt = (DataTable)ViewState["datatable"];
            DataRow dr = dt.NewRow();
            dr["RowNum"] = (int)dt.Select("", "RowNum DESC")[0]["RowNum"] + 1;
            dt.Rows.Add(dr);
            ViewState["datatable"] = dt;
            rptList.DataSource = dt;
            rptList.DataBind();
        }

        protected void btnDel_Click(object sender, EventArgs e)
        {
            RepeaterItem ri = (RepeaterItem)((Button)sender).NamingContainer;
            DataTable dt = (DataTable)ViewState["datatable"];
            foreach (DataRow dr in dt.Rows)
            {
                if (int.Parse(dr["RowNum"].ToString()) == ri.ItemIndex)
                {
                    dt.Rows.Remove(dr);
                    break;
                }
            }
            ViewState["datatable"] = dt;
            rptList.DataSource = dt;
            rptList.DataBind();

        }

旨在提供思考起点,实际需求往往以此为基础再附加一些要求

【代码笔记】动态添加删除带标题的表单控件【HTML为基础 jQuery实现版】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值