【发布时间】:2015-03-31 05:56:59
【问题描述】:
我能够动态添加文本框,但我无法使用动态添加的文本框的值 这是我的代码
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;
【问题讨论】: