• Asp.net动态生成表单


    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>
    

      

  • 相关阅读:
    JS基础_自增和自减
    计算机组成原理
    SyntaxHighlighter
    10个经典的C语言面试基础算法及代码
    知名互联网公司面试题
    计算机网络基础知识(笔试题)
    面试准备之常见上机题目搜罗
    小米2013年校园招聘笔试题-简单并查集
    2014华为上机试题
    C++学习笔记
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/3726006.html
Copyright © 2020-2023  润新知