Asp.net动态生成表单

control.ascx

1
2
3
4
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="control.ascx.cs" Inherits="WebApplication1.control" %>
  <asp:Panel ID="Panel1" runat="server"></asp:Panel>
 
  <input id="Submit1" type="submit" value="submit" />

  

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace WebApplication1
{
    public partial class control : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            GetFormData();
                AddFormTable();
               
           
        }
 
        private void AddFormTable()
        {
            Table tb = new Table();
 
            for (int i = 0; i < 10; i++)
            {
                TableRow tr = new TableRow();
                TableCell tc1 = new TableCell();
 
                TextBox txtbox = new TextBox();
                txtbox.ID = "AutoPageControl_" + i.ToString();
                tc1.Controls.Add(txtbox);
                tr.Cells.Add(tc1);
                tb.Rows.Add(tr);
            }
            Panel1.Controls.Add(tb);
        }
 
 
        public void GetFormData()
        {
            string[] names = Request.Form.AllKeys;
            List<string> lst = new List<string>();
            foreach (var item in names)
            {
                if (item.Contains("control"))
                {
                    lst.Add(item);
                }
            }
            //遍历发送的key值
            for (int i = 0; i < lst.Count; i++)
            {
                string[] arr = lst[i].Split(‘_‘);
 
                string attribute = arr[arr.Length - 1];
                //@TODO获取数据库中数据模型,判断是否必填项和是否是确认项
                string value = Request[lst[i]];
                //@TODO增加数据到数据库
            }
            
        }
    }
}

  页面调用

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AutoPage.aspx.cs" Inherits="WebApplication1.AutoPage" %>
 
<%@ Register Src="~/control.ascx" TagPrefix="uc1" TagName="control" %>
 
 
<!DOCTYPE html>
 
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <uc1:control runat="server" id="control" />
    </form>
</body>
</html>

  

 

Asp.net动态生成表单,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。