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