如何添加文本框动态地asp.net C#和添加使用后的文本框中的值 [英] How to add text boxes dynamically in asp.net C# and use the textbox values after adding

查看:186
本文介绍了如何添加文本框动态地asp.net C#和添加使用后的文本框中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我能够动态地添加文本框,我不能够使用这些动态添加文本框的值
 这里是我的code

I am able to add textboxes dynamically and i am not able to use the value of the textboxes which are dynamically added Here is my code

int i = 0;
List<string> controlidlist = new List<string>();
protected override void LoadViewState(object savedState)
{
    base.LoadViewState(savedState);
    controlidlist = (List<string>)ViewState["controlidlist"];
    foreach (string Id in controlidlist)
    {
        i++;
        TextBox tb = new TextBox();
        tb.ID = Id;
        LiteralControl lineBreak = new LiteralControl();
        PlaceHolder1.Controls.Add(tb);
        PlaceHolder1.Controls.Add(lineBreak);
    }
}

我在这里进行动态地添加文本框

Here am performing the dynamically adding the textboxes

   protected void Button1_Click(object sender, EventArgs e)
{

    i++;
    TextBox tb = new TextBox();
    tb.ID = "textboxes" + i;
    tb.Text = "textbox" + i;

    LiteralControl lineBreak = new LiteralControl("<br>");
    PlaceHolder1.Controls.Add(tb);
    PlaceHolder1.Controls.Add(lineBreak);
    controlidlist.Add(tb.ID);
    ViewState["controlidlist"] = controlidlist;

}

在这里,我想尝试让这些动态添加文本框的值

Here i want to try get the textbox values which are dynamically added

  protected void datainput_Click(object sender, EventArgs e)
{
    string m = string.Empty;
    for (int f = 0; f < i; f++)
    {
        TextBox t = (TextBox)FindControl("textboxes"+f);
        string k = t.Text;
        m = m +","+k;


        }
    string h = m;
}

这正的错误是
对象引用未设置为一个对象的实例。
串K = t.Text;

推荐答案

将它添加到一个容器:

<asp:Panel runat="server" ID="pnlTextboxes"></asp:Panel>

 foreach (string Id in controlidlist)
    {
        i++;
        TextBox tb = new TextBox();
        tb.ID = Id;
        LiteralControl lineBreak = new LiteralControl();
        pnlTextboxes.Controls.Add(tb);
        pnlTextboxes.Controls.Add(lineBreak);
    }

 TextBox t = (TextBox)pnlTextboxes.FindControl("textboxes"+f);

更新:

TextBox t = (TextBox)PlaceHolder1.FindControl("textboxes"+f);

这篇关于如何添加文本框动态地asp.net C#和添加使用后的文本框中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆