网上对于这方面的编程不够详细,基本上只说了一些原理上的问题,看到有人在问题这个问题,我在这里对这个问题进行详细的说明,后有详细代码.本文内容转自于:西宁威势电子信息服务有限公司
一,实现动态控件添加
动态控件添加,在网上有很多方法,这里不多说,主要使用到的控件是:PlaceHolder
以下是代码:本文内容转自于:西宁威势电子信息服务有限公司
C#代码
- <%@ Page Language="C#" %>
- <script runat="server">
- void Page_Load(object sender, EventArgs e)
- {
- if(!IsPostBack)
- {
- string ctr = "<asp:TextBox runat='server' ID='tbBox' text='www.hdut.com' />";
- Control ctrl = Page.ParseControl(ctr);
- PlaceHolder1.Controls.Add(ctrl);
- }
- }
- </script>
- <form id="frm" runat="server">
- <asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder>
- </form>
2,实现多个控件自动生成,其它代码很简单,用到循环就行
下面是实现代码:本文内容转自于:西宁威势电子信息服务有限公司
C#代码
- <%@ Page Language="C#" %>
- <script runat="server">
- void Page_Load(object sender, EventArgs e)
- {
- if(!IsPostBack)
- {
- string ctr = "";
- Control ctrl ;
- int i = 1;
- while(i<7)
- {
- ctr = "<asp:TextBox runat='server' ID='tbText"+i+"' text='my number is "+i+"' />";
- ctrl = Page.ParseControl(ctr);
- PlaceHolder1.Controls.Add(ctrl);
- i++;
- }
- }
- }
- </script>
- <form id="frm" runat="server" method="post">
- <asp:PlaceHolder id="PlaceHolder2" runat="server"></asp:PlaceHolder>
- </div>
- </form>
3,将数据写入数据库,其实也很简单,提交一下就可以了,以下是实现代码:本文内容转自于:西宁威势电子信息服务有限公司
C#代码
- <%@ Page Language="C#" %>
- <script runat="server">
- void Page_Load(object sender, EventArgs e)
- {
- if(!IsPostBack)
- {
- string ctr = "";
- Control ctrl;
- int i = 1;
- while(i<7)
- {
- ctr = "<asp:TextBox runat='server' ID='tbText"+i+"' text='my number is "+i+"' />";
- ctrl = Page.ParseControl(ctr);
- PlaceHolder2.Controls.Add(ctrl);
- i++;
- }
- }
- }
- void Ok_Click(object sender, EventArgs e)
- {
- //假设已经存在一个表,结构如:编号,名称,性别
- System.Data.SqlClinet.SqlConnection conn = System.Data.SqlClinet.SqlConnection("database=test;uid=sa;pasword=12345;server=.");
- System.Data.SqlClient.SqlCommand cmd = System.Data.SqlClient.SqlCommand();
- cmd.Connection = conn;
- int i = 1;
- while(i<7)
- {
- string sql = "insert into tablename values("+Request.QueryString["tbText"+i]+",'"+Request.QueryString["tbText"+i+1]+"','"+Request.QueryString["tbText"+2]+"')";
- cmd.CommandText = sql;
- cmd.ExecuteNonQuery();
- conn.Close();
- i += 3;
- }
- }
- </script>
- <form id="frm" runat="server" method="get">
- <div style="width:460px">
- <asp:PlaceHolder id="PlaceHolder2" runat="server"></asp:PlaceHolder>
- <asp:Button ID="Ok" runat="server" Text="确定" onclick="Ok_Click" />
- </div>
- </form>