control.ascx
<%@ 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" />
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增加数据到数据库 } } } }
页面调用
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AutoPage.aspx.cs" Inherits="WebApplication1.AutoPage" %> <%@ Register Src="~/control.ascx" TagPrefix="uc1" TagName="control" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <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>