请教各位了:
小弟是.net新手,近日遇到了动态添加控件的问题
代码如下:///
///大概意思是当点击gridview的rowedit键时创建与gridview中自动生成的colums数量相同的textbox用来修改
///
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
Label8.Text = GridView1.Rows[e.NewEditIndex].Cells[1].Text;
n = GridView1.Rows[e.NewEditIndex].Cells.Count;
for (int i = 2; i < GridView1.Rows[e.NewEditIndex].Cells.Count; i++)
{
TextBox newTextBox = new TextBox();
newTextBox.ID = "EditTextBox" + (i - 2).ToString();
newTextBox.Text = GridView1.Rows[e.NewEditIndex].Cells[i].Text;
panel1.Controls.Add(newTextBox);
}
}
///
///在这里我希望当点击“确认修改按钮”的时候获取“之前点击RowEdit按钮”所创建的那些textbox的值
///
protected void EditButton_Click(object sender, EventArgs e)
{
string updateString = "";
switch (Int32.Parse(DropDownList1.SelectedValue))
{
case 1:
updateString = "UPDATE [country] SET [name] = " + ((TextBox)FindControl("EditTextBox0")).Text + ",[continent] = " + ((TextBox)FindControl("EditTextBox1")).Text + "WHERE [id] = " + Label8.Text;
break;
case 2:
default:
break;
}
if (updateString != "")
{
ExecuteUpdateCommand(updateString);
}
}///
///当执行的时候会报("EditTextBox0")不存在
///小弟初来csdn,没有什么分,希望各位帮忙,谢谢,谢谢
小弟是.net新手,近日遇到了动态添加控件的问题
代码如下:///
///大概意思是当点击gridview的rowedit键时创建与gridview中自动生成的colums数量相同的textbox用来修改
///
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
Label8.Text = GridView1.Rows[e.NewEditIndex].Cells[1].Text;
n = GridView1.Rows[e.NewEditIndex].Cells.Count;
for (int i = 2; i < GridView1.Rows[e.NewEditIndex].Cells.Count; i++)
{
TextBox newTextBox = new TextBox();
newTextBox.ID = "EditTextBox" + (i - 2).ToString();
newTextBox.Text = GridView1.Rows[e.NewEditIndex].Cells[i].Text;
panel1.Controls.Add(newTextBox);
}
}
///
///在这里我希望当点击“确认修改按钮”的时候获取“之前点击RowEdit按钮”所创建的那些textbox的值
///
protected void EditButton_Click(object sender, EventArgs e)
{
string updateString = "";
switch (Int32.Parse(DropDownList1.SelectedValue))
{
case 1:
updateString = "UPDATE [country] SET [name] = " + ((TextBox)FindControl("EditTextBox0")).Text + ",[continent] = " + ((TextBox)FindControl("EditTextBox1")).Text + "WHERE [id] = " + Label8.Text;
break;
case 2:
default:
break;
}
if (updateString != "")
{
ExecuteUpdateCommand(updateString);
}
}///
///当执行的时候会报("EditTextBox0")不存在
///小弟初来csdn,没有什么分,希望各位帮忙,谢谢,谢谢
{
Label8.Text = GridView1.Rows[e.NewEditIndex].Cells[1].Text;
n = GridView1.Rows[e.NewEditIndex].Cells.Count;
for (int i = 2; i < GridView1.Rows[e.NewEditIndex].Cells.Count; i++)
{
TextBox newTextBox = new TextBox();
newTextBox.ID = "EditTextBox" + (i - 2).ToString();
newTextBox.Text = GridView1.Rows[e.NewEditIndex].Cells[i].Text;
newTextBox.Attributes.Add("onmouseover", "javascript:alert_ID(this)");
panel1.Controls.Add(newTextBox);
}
} 在客户端的时候报出来的是"EditTextBox0"和"EditTextBox1"function alert_ID(con)
{
alert(con.id);
}
因此,这个控件ID一般要按自己的要求来定义
google 到的...
可能我没表达很清楚,还是很感谢JL99000和hsxgodkiller