读取动态生成的Table中的textbox输入数据,然后把数据加到sql数据库中
RT序号 姓名 工时 酬金
____ ____ ____ ____
上面是表的样子。已经实现动态添加和删除行,现在我要把textbox中的数据insert(添加)到sql数据库中。
数据库 SQL textbox 添加数据 asp.net --------------------编程问答-------------------- 问题是我要怎么获取生成的textbox的ID? --------------------编程问答-------------------- 这个问题应该不难吧?麻烦各位大神来帮忙解答下。。。 --------------------编程问答-------------------- 求帮忙啊~~ --------------------编程问答-------------------- "我要怎么获取生成的textbox的ID? "这个可以直接设置吧 亲 --------------------编程问答--------------------
protected void Page_Load(object sender, EventArgs e)
{
CreateTableHeader();
if (!IsPostBack)
{
ViewState["rowcount"] = "1";
}
for (int i = 0; i < int.Parse(ViewState["rowcount"].ToString()); i++)
{
CreateTableRow();
}
}
/// <summary>
/// 用户数据初始化
/// </summary>
private void CreateTableHeader()
{
TableHeaderRow headRow = new TableHeaderRow();
TableHeaderCell headCell = new TableHeaderCell();
headCell.Text = "序号";
headCell.Width = 10;
headRow.Cells.Add(headCell);
Table2.Rows.Add(headRow);
headCell = new TableHeaderCell();
headCell.Text = "姓名";
headCell.Width = 88;
headRow.Cells.Add(headCell);
Table2.Rows.Add(headRow);
headCell = new TableHeaderCell();
headCell.Text = "工时";
headCell.Width = 88;
headRow.Cells.Add(headCell);
Table2.Rows.Add(headRow);
headCell = new TableHeaderCell();
headCell.Text = "酬金";
headCell.Width = 88;
headRow.Cells.Add(headCell);
Table2.Rows.Add(headRow);
}
void CreateTableRow()
{
TableRow tbleRow = new TableRow();
TableCell tbleCell = new TableCell();
tbleCell.Controls.Add(new LiteralControl(Table2.Rows.Count.ToString()));
tbleRow.Cells.Add(tbleCell);
tbleCell = new TableCell();
TextBox Bxingming = new TextBox();
Bxingming.Style[HtmlTextWriterStyle.Width] = "88px";
tbleCell.Controls.Add(Bxingming);
tbleRow.Cells.Add(tbleCell);
tbleCell = new TableCell();
TextBox Bgongshi = new TextBox();
Bgongshi.Style[HtmlTextWriterStyle.Width] = "88px";
tbleCell.Controls.Add(Bgongshi);
tbleRow.Cells.Add(tbleCell);
tbleCell = new TableCell();
TextBox Bchoujin = new TextBox();
Bchoujin.Style[HtmlTextWriterStyle.Width] = "88px";
tbleCell.Controls.Add(Bchoujin);
tbleRow.Cells.Add(tbleCell);
Table2.Rows.Add(tbleRow);
}
protected void Button1_Click(object sender, EventArgs e)
{
CreateTableRow();
ViewState["rowcount"] = int.Parse(ViewState["rowcount"].ToString()) + 1;
}
protected void Button2_Click(object sender, EventArgs e)
{
if (Table2.Rows.Count <= 2)
return;
Table2.Rows.RemoveAt(Table2.Rows.Count - 1);
ViewState["rowcount"] = int.Parse(ViewState["rowcount"].ToString()) - 1;
}
}
textbox动态生成,没法设置他的ID啊。难道ID就是 textbox1 textbox2。。。这样连续生成下去的? --------------------编程问答-------------------- TextBox tb = new TextBox();
tb.ID = "txtTest"; --------------------编程问答--------------------
你给textbox的ID自动连续生成就像textbox1 textbox2 --------------------编程问答--------------------
"我要怎么获取生成的textbox的ID? "这个可以直接设置吧 亲
textbox动态生成,没法设置他的ID啊。难道ID就是 textbox1 textbox2。。。这样连续生成下去的?
你给textbox的ID自动连续生成就像textbox1 textbox2
在用 Request.Form["textbox1"]来获取文本里的值 --------------------编程问答-------------------- CreateTableRow() 你就不能在这个方法里传个序号什么的作为id 么?CreateTableRow(int index)
然后每个textbox 的id 后缀 可以使用这个序号“text_”+index --------------------编程问答--------------------
CreateTableRow() 你就不能在这个方法里传个序号什么的作为id 么?CreateTableRow(int index)
然后每个textbox 的id 后缀 可以使用这个序号“text_”+index
能给个直接的代码吗。实在想不出来要怎么解决 --------------------编程问答--------------------
foreach (TableRow row in Table2.Rows)
{
int i = 0;
i++;
a = "insert into GongshiTongji(序号,用工部门,用工岗位,学号,姓名,工时,酬金,学院,专业班级)values('" + i.ToString() + "','" + (Table2.FindControl("Bbumen"+i.ToString()) as TextBox).Text + "','" + (Table2.FindControl("Bgangwei"+i.ToString()) as TextBox).Text + "','" + (Table2.FindControl("Bxuehao"+i.ToString()) as TextBox).Text + "','" + (Table2.FindControl("Bxingming"+i.ToString()) as TextBox).Text + "','" + (Table2.FindControl("Bgongshi"+i.ToString()) as TextBox).Text + "','" + (Table2.FindControl("Bchoujin"+i.ToString()) as TextBox).Text + "','" + (Table2.FindControl("Bxueyuan"+i.ToString()) as TextBox).Text + "','" + (Table2.FindControl("Bbanji"+i.ToString()) as TextBox).Text + "')";
}
这个是插入语句,提示 未将对象引用设置到对象的实例 --------------------编程问答--------------------
--------------------编程问答-------------------- 这个问题没有解决呀,我也遇到这样的问题,动态生成ID没问题,但取ID和ID值却没有办法实现。 --------------------编程问答--------------------
void CreateTableRow(int index)
{
TableRow tbleRow = new TableRow();
TableCell tbleCell = new TableCell();
tbleCell.Controls.Add(new LiteralControl(Table2.Rows.Count.ToString())); tbleRow.Cells.Add(tbleCell);
tbleCell = new TableCell();
TextBox Bxingming = new TextBox();
Bxingming.Style[HtmlTextWriterStyle.Width] = "88px";
//这里可以给textbox的id 赋值
Bxingming.ID = "Bm_"+ index;
..............
//其他的textbox都可以按照这种方式给id 赋值,注意要唯一性
}
这个问题没有解决呀,我也遇到这样的问题,动态生成ID没问题,但取ID和ID值却没有办法实现。
补充:.NET技术 , ASP.NET