繁体   English   中英

如何在ASP.NET C#中动态添加文本框并在添加后使用文本框值

How to add text boxes dynamically in asp.net C# and use the textbox values after adding

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我能够动态添加文本框,而我无法使用动态添加的文本框的值,这是我的代码

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

在这里执行动态添加文本框

   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;

}

在这里我想尝试获取动态添加的文本框值

  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处;

1 个回复

将其添加到容器中:

<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);
1 使用C#在ASP.NET中动态添加文本框

我编写了一个代码,其中将文本框动态添加到了gridview单元中。 文本框中有一些默认文本。 我希望当用户单击文本框时,默认文本将消失,然后用户只能在数字上写任何东西,即用户将不能使用字母或特殊字符。 请让我知道如何实现这一目标。 代码示例 此后需要帮助,例如当用户将光标放在 ...

2 C#asp.net文本框动态添加oninput属性

我想这样做,以便每次文本框内的值更改时,我动态添加的文本框都会调用javascript函数。 这可以通过使用onInput属性来实现。 我可以沿着这些路线动态添加该属性吗? 要么 提前致谢 :) 编辑: 这是我的整个代码段。 我将标签和文本框放在html表 ...

3 动态添加多个网格并丢失在C#,asp.net中输入的文本框值

我正在创建多个网格,如下所示,网格看起来很好,它在第一行创建了多个文本框的多个网格,第一行用于输入金额。 我丢失了最终提交的数据。 回发时,我在文本框字段中丢失了用户输入的金额。 创建网格后,在文本框中输入所有数据时,我尝试提交循环中的所有网格日期。 objGrid返回null。 ...

5 如何在ASP.NET C#中依次验证文本框

我有10个文本框,我想检查用户是否在第8个文本框中插入文本,这会产生错误,因为他应该先填充第7个文本框,依此类推,可以使用if来完成,但我需要使用循环来完成以减少代码 ...

2017-11-18 16:36:16 2 42   c#-3.0
7 如何在C#asp.net中动态创建文本框?

对于所面临的问题,我需要一些建议或想法。 我想根据输入字符串(例如“ 11211”)动态创建一个文本框。 当它根据上面的字符串读取第一个字符时,在这种情况下为“ 1”,将创建一个背景颜色为黄色的文本框。 循环将继续水平创建文本框,直到完成读取上面字符串中的所有字符为止。 ...

9 在asp.net中的每个元素之后,在转发器中动态添加文本框

我已将数据绑定到DB的中继器控件。 现在,我必须在转发器中绑定每个元素之后动态添加文本框。 例如,Item1 TextBox1 Item2 TextBox2 Item3 TextBox3 我在中继器itembound事件上使用了以下代码来添加文本框。 但是此代码以以下格式提供输 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM