根据数组中的字符串数量动态创建文本框

时间:2013-01-10 12:50:31

标签: c# asp.net arrays web-services textbox

我正在遍历一个字符串数组。

对于每个字符串,我需要将它显示在网页上的新文本框中。

我通过只提供一个文本框来实现这一点,但这可以作为概念证明。我的问题是我现在正在使用不同数量的字符串来处理更大的数组。

是否有一种方法可以在页面上动态创建与有多少字符串相关的文本框?

这是我到目前为止所拥有的 -

     protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
     {
        WebService1 ws = new WebService1();

        foreach (string x in ws.mRETURN(CheckBoxList1.SelectedItem.Text))
        {

            TextBox1.Text = x;

        }  
     }

因此,页面上已存在一个文本框,但我知道需要它依赖于从Web服务传递的字符串数量,并将此数字与所需的文本框数量相关联。

2 个答案:

答案 0 :(得分:1)

试试这个

标记

<asp:DataList runat="server" ID="repeatedTextBox">
<ItemTemplate>
  <asp:TextBox ID="myTextBox" runat="server" Text='<%# Container.DataItem.ToString() %>'></asp:TextBox>
</ItemTemplate>
</asp:DataList>

代码隐藏

repeatedTextBox.DataSource = myChangingArrayOfString;  //e.g ws.mRETURN(CheckBoxList1.SelectedItem.Text)
repeatedTextBox.DataBind();

答案 1 :(得分:0)

如何在网页上使用占位符并以编程方式向其添加控件(TextBoxes)。

<asp:PlaceHolder id="Area1" runat="server"></asp:PlaceHolder></P>

然后在你的后端添加:

TextBox tbx = new TextBox();
Area1.Controls.Add(tbx);

在一个循环中你可以做到吗? 我现在还在学习,这是我在这个阶段最好的建议。

源自:Source