0

嗨,我有要求 1) 动态显示给定的文本框数量并保存到 DB 2) 如果我更改数字,那么新的文本框应该附加到 UI

例如:文本框添加按钮

如果我在文本框中输入 2 并单击添加,那么应该会出现 2 个文本框。我在这些文本框中填写了一些数据。现在,当我将值 2 更改为 5 时,应追加 3 个文本框(条件:旧文本框数据应保留)如果第二个值小于或等于第一个值,则什么也不做。

我的代码是

 void Append()
    {
        string Data = string.Empty;
        TextBox tb;
        if (Convert.ToInt32(hdnCnt.Value) < Convert.ToInt32(txtNoofGames.Text))
        {
            for (int i = 0; i < Convert.ToInt16(txtNoofGames.Text); i++)
            {
                if (i <= Convert.ToInt32(hdnCnt.Value))
                {
                    tb = (TextBox)Form.FindControl("txtGame1");
                    Data = tb.Text;
                }
                TextBox Newtb = new TextBox();
                Newtb.ID = "txtGame" + i;
                Form.Controls.Add(Newtb);
                if (i <= Convert.ToInt32(hdnCnt.Value))
                {
                    Newtb.Text = Data;
                }
            }
        }
    }
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        if (hdnCnt.Value != "")
            Append();
        hdnCnt.Value = txtNoofGames.Text;
        for (int i = 0; i < Convert.ToInt16(txtNoofGames.Text); i++)
        {
            TextBox tb = new TextBox();
            tb.ID = "txtGame" + i;
            Form.Controls.Add(tb);
        }
    }

我在 Data = tb.Text 处收到异常“对象引用未设置为对象实例”;在附加方法中。

4

2 回答 2

0

而不是 Form.Controls.Add(tb);

请尝试使用 Page.Form.Controls.Add(tb);

于 2012-06-27T13:10:49.837 回答
0

你没有从它的外观初始化它

    TextBox tb = new TextBox();

希望有帮助,

于 2012-06-27T12:54:36.197 回答