当前位置: 代码迷 >> ASP.NET >> c#动态循环TextBox有关问题,望高手之路!
  详细解决方案

c#动态循环TextBox有关问题,望高手之路!

热度:9154   发布时间:2013-02-25 00:00:00.0
c#动态循环TextBox问题,望高手之路!!
前台主要实现程序:
C# code
        <asp:Panel ID="Panel1" runat="server" Width="105px">        </asp:Panel>              <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>        <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>        <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label> 


后台代码:
C# code
        string a = ",序号,车号,姓名,联系方式";        string[] s = a.Split(new string[1] { "," }, System.StringSplitOptions.None);        for (int i = 1; i <= 3; i++)        {            TextBox txt = new TextBox();            txt.ID = "TextBox" + i.ToString();            //txt.top = i * 20;            Panel1.Controls.Add(txt);            ((Label)this.FindControl("label" + i)).Text = s[i];        }


我现在想问的是,如何自动生成前台的label,并且加在TextBox 的前面?然后在每个TextBox后面加个换行,最终显示方式如下:
C# code
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><input name="TextBox1" type="text" id="TextBox1" /><br><asp:Label ID="Label2" runat="server" Text="Label"></asp:Label><input name="TextBox2" type="text" id="TextBox1" /><br><asp:Label ID="Label3" runat="server" Text="Label"></asp:Label><input name="TextBox3" type="text" id="TextBox1" /><br>


希望高手指点哈!100分就这点了!
还有 就是有没有更好的实现方式呀?小弟不胜感谢!

------解决方案--------------------------------------------------------
C# code
        string a = ",序号,车号,姓名,联系方式";        string[] s = a.Split(new string[1] { "," }, System.StringSplitOptions.None);        for (int i = 1; i <= 3; i++)        {            Label lb = new Label();            lb.ID = "Label" + i.ToString();            TextBox txt = new TextBox();            txt.ID = "TextBox" + i.ToString();            lb.Text = "<br />"+s[i];            Panel1.Controls.Add(lb);            Panel1.Controls.Add(txt);        }
------解决方案--------------------------------------------------------
通过后台编程的方式可以直接实现。
以下为前台

C# code
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
------解决方案--------------------------------------------------------
另外,不建议使用后台编程方式实现,除非前台结构不确定。
------解决方案--------------------------------------------------------
怎么感觉拉的比你生产的快吧。。
要不做个表把TextBox放repeater里面绑定上。。。
------解决方案--------------------------------------------------------
string a = ",序号,车号,姓名,联系方式"; 
string[] s = a.Split(new string[1] { "," }, System.StringSplitOptions.None); 
for (int i = 1; i <= 3; i++) { 
TextBox txt = new TextBox(); 
txt.ID = "TextBox" + i.ToString(); //txt.top = i * 20; 
Label la = new Label(); 
la.Text = s[i];
Panel1.Controls.Add(la);
Panel1.Controls.Add(txt);
Panel1.Controls.Add(new HtmlGenericControl("br"));
}

------解决方案--------------------------------------------------------
  相关解决方案