您的位置:首页 > 编程语言 > ASP

Asp.net动态生成表单

2014-05-13 17:21 363 查看
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>


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: