ASP.NET(C#)实现动态控件添加编程

.NET技术    2010-02-27 12:12  

  网上对于这方面的编程不够详细,基本上只说了一些原理上的问题,看到有人在问题这个问题,我在这里对这个问题进行详细的说明,后有详细代码.本文内容转自于:西宁威势电子信息服务有限公司

  一,实现动态控件添加
  动态控件添加,在网上有很多方法,这里不多说,主要使用到的控件是:PlaceHolder
  以下是代码:本文内容转自于:西宁威势电子信息服务有限公司

C#代码
  1. <%@ Page Language="C#" %>   
  2. <script runat="server">   
  3.     void Page_Load(object sender, EventArgs e)    
  4.     {          
  5.         if(!IsPostBack)   
  6.         {   
  7.             string ctr = "<asp:TextBox runat='server' ID='tbBox' text='www.hdut.com' />";   
  8.             Control ctrl = Page.ParseControl(ctr);   
  9.             PlaceHolder1.Controls.Add(ctrl);   
  10.   
  11.         }      
  12.     }      
  13. </script>   
  14. <form id="frm" runat="server">   
  15. <asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder>   
  16. </form>  

  2,实现多个控件自动生成,其它代码很简单,用到循环就行
  下面是实现代码:本文内容转自于:西宁威势电子信息服务有限公司

C#代码
  1. <%@ Page Language="C#" %>   
  2. <script runat="server">   
  3.     void Page_Load(object sender, EventArgs e)    
  4.     {          
  5.         if(!IsPostBack)   
  6.         {   
  7.             string ctr = "";   
  8.             Control ctrl ;   
  9.                
  10.             int i = 1;   
  11.             while(i<7)   
  12.             {   
  13.                 ctr = "<asp:TextBox runat='server' ID='tbText"+i+"' text='my number is "+i+"' />";   
  14.                 ctrl = Page.ParseControl(ctr);   
  15.                 PlaceHolder1.Controls.Add(ctrl);   
  16.                 i++;   
  17.             }   
  18.   
  19.         }      
  20.     }      
  21. </script>   
  22. <form id="frm" runat="server" method="post">   
  23. <asp:PlaceHolder id="PlaceHolder2" runat="server"></asp:PlaceHolder>   
  24. </div>   
  25. </form>  

  3,将数据写入数据库,其实也很简单,提交一下就可以了,以下是实现代码:本文内容转自于:西宁威势电子信息服务有限公司

C#代码
  1. <%@ Page Language="C#" %>   
  2. <script runat="server">   
  3.     void Page_Load(object sender, EventArgs e)    
  4.     {          
  5.         if(!IsPostBack)   
  6.         {   
  7.             string ctr = "";   
  8.             Control ctrl;   
  9.                
  10.             int i = 1;   
  11.             while(i<7)   
  12.             {   
  13.                 ctr = "<asp:TextBox runat='server' ID='tbText"+i+"' text='my number is "+i+"' />";   
  14.                 ctrl = Page.ParseControl(ctr);   
  15.                 PlaceHolder2.Controls.Add(ctrl);   
  16.                 i++;   
  17.             }   
  18.   
  19.         }      
  20.     }      
  21.     void Ok_Click(object sender, EventArgs e)    
  22.     {   
  23.         //假设已经存在一个表,结构如:编号,名称,性别   
  24.         System.Data.SqlClinet.SqlConnection conn = System.Data.SqlClinet.SqlConnection("database=test;uid=sa;pasword=12345;server=.");   
  25.         System.Data.SqlClient.SqlCommand cmd = System.Data.SqlClient.SqlCommand();   
  26.         cmd.Connection = conn;   
  27.         int i = 1;   
  28.         while(i<7)   
  29.         {   
  30.             string sql = "insert into tablename values("+Request.QueryString["tbText"+i]+",'"+Request.QueryString["tbText"+i+1]+"','"+Request.QueryString["tbText"+2]+"')";   
  31.             cmd.CommandText = sql;   
  32.             cmd.ExecuteNonQuery();   
  33.             conn.Close();   
  34.             i += 3;   
  35.         }   
  36.     }   
  37. </script>   
  38. <form id="frm" runat="server" method="get">   
  39. <div style="width:460px">   
  40. <asp:PlaceHolder id="PlaceHolder2" runat="server"></asp:PlaceHolder>   
  41. <asp:Button ID="Ok" runat="server" Text="确定" onclick="Ok_Click" />   
  42. </div>   
  43. </form>  

在线留言

我要留言