ASP.NET中我通过后台动态生成了一些TEXTBOX,但是为什么取不到值呢?
再次贴出我的部分代码。这里是动态生成控件的代码protectedvoidbtnSubmit_Click(objectsender,EventArgse){Tabletab...
再次贴出我的部分代码。
这里是动态生成控件的代码
protected void btnSubmit_Click(object sender, EventArgs e)
{
Table table = new Table();
table.ID = "tableSeat";
TableRow tablerow;
TableCell tablecell;
TextBox txt;
Label lbl;
int row = Convert.ToInt32(txtRow.Text.ToString());
for (int i = 1; i <= row; i++)
{
tablerow = new TableRow();
tablecell = new TableCell();
txt = new TextBox();
lbl = new Label();
lbl.ID = "Lable" + i.ToString();
lbl.Text = "第" + i.ToString() + "排的座位数为:";
tablecell.Controls.Add(lbl);
tablerow.Cells.Add(tablecell);
tablecell = new TableCell();
txt.ID = "txtSeatOf" + i.ToString();
tablecell.Controls.Add(txt);
tablerow.Cells.Add(tablecell);
table.Rows.Add(tablerow);
}
MyPanel.Controls.Add(table);
btnSave.Enabled = true;
}
这里是测试读取数据的代码,每次FIND控件都为NULL
protected void btnSave_Click(object sender, EventArgs e)
{
Table tableTest = new Table();
TextBox txt1 = new TextBox();
tableTest = MyPanel.FindControl("tableSeat") as Table;
txt1 = tableTest.FindControl("txtSeatOf1") as TextBox;
string str = txt1.Text;
}
我也想设置RUNAT 可是我后台直接NEW出来的控件,没有办法设置RUNAT这个属性。不知道为什么。 展开
这里是动态生成控件的代码
protected void btnSubmit_Click(object sender, EventArgs e)
{
Table table = new Table();
table.ID = "tableSeat";
TableRow tablerow;
TableCell tablecell;
TextBox txt;
Label lbl;
int row = Convert.ToInt32(txtRow.Text.ToString());
for (int i = 1; i <= row; i++)
{
tablerow = new TableRow();
tablecell = new TableCell();
txt = new TextBox();
lbl = new Label();
lbl.ID = "Lable" + i.ToString();
lbl.Text = "第" + i.ToString() + "排的座位数为:";
tablecell.Controls.Add(lbl);
tablerow.Cells.Add(tablecell);
tablecell = new TableCell();
txt.ID = "txtSeatOf" + i.ToString();
tablecell.Controls.Add(txt);
tablerow.Cells.Add(tablecell);
table.Rows.Add(tablerow);
}
MyPanel.Controls.Add(table);
btnSave.Enabled = true;
}
这里是测试读取数据的代码,每次FIND控件都为NULL
protected void btnSave_Click(object sender, EventArgs e)
{
Table tableTest = new Table();
TextBox txt1 = new TextBox();
tableTest = MyPanel.FindControl("tableSeat") as Table;
txt1 = tableTest.FindControl("txtSeatOf1") as TextBox;
string str = txt1.Text;
}
我也想设置RUNAT 可是我后台直接NEW出来的控件,没有办法设置RUNAT这个属性。不知道为什么。 展开
展开全部
TextBox txt;
Label lbl;
你声明在for循环的外面。里面每循环一次都是在覆盖以前的。
这样的话你可以试试,假如循环了10次 即i=10
FindControl("txtSeatOf10") as TextBox;
看能不能找出来的。
如果可以找到的话,你就应该把TextBox txt;Label lbl;声明在for循环内部。每次都是新实例化一个控件,而不是一直覆盖一个控件。
Label lbl;
你声明在for循环的外面。里面每循环一次都是在覆盖以前的。
这样的话你可以试试,假如循环了10次 即i=10
FindControl("txtSeatOf10") as TextBox;
看能不能找出来的。
如果可以找到的话,你就应该把TextBox txt;Label lbl;声明在for循环内部。每次都是新实例化一个控件,而不是一直覆盖一个控件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你table设成runat="server"了吗?如果没有后台是取不到这个表格的,加了如果还取不到就是你前面生成表格的时候出错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Request.From("txtSeatOf1")试试,btnSave里不能再用FindControl了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询