日期:2014-05-17  浏览次数:20445 次

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"));
}

------解决方案--------------------