我有一个gridview
textbox
动态生成RowDataBound
事件。我希望在{{1} textbox
以下生成gridview
以上button
点击。
这是我的gridview
这是我背后的代码:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
string s = Session["num"].ToString();
int num = Int32.Parse(s);
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i <num; i++)
{
TextBox txt = new TextBox();
txt.Height = 25;
txt.Width = 150;
txt.Font.Size = 10;
txt.ID = "txt" + i;
txt.Text = e.Row.Cells[i].Text.Replace(" ", "");
e.Row.Cells[i].Controls.Add(txt);
}
}
}
答案 0 :(得分:0)
不确定您的确切问题是什么,但此Link可能会对您有所帮助。无论如何,您只需使用TextBox
事件动态生成Button Click
。
下面显示的示例在Click事件上生成三个TextBox
控件:
TextBox txt;
static int i = 0;
protected void Button1_Click(object sender, EventArgs e)
{
if(i%2==0)
{
for (int j = 0; j < 3; j++)
{
txt= new TextBox();
txt.Height = 25;
txt.Width = 150;
txt.Font.Size = 10;
txt.ID = j.ToString();
PlaceHolder1.Controls.Add(txt);
}
}
i++;
}
注意:当您动态将控件添加到运行时的ASP.NET页面时,对象引用会在回发时丢失< / strong>因为它们在代码隐藏中没有对象引用变量。