代码如下:
//GridView创建行后触发的事件
protected void grdOperas_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Footer)
{
//合并列
e.Row.Cells.Clear();
e.Row.Cells.Add(new TableCell());
e.Row.Cells[0].ColumnSpan = 9;
e.Row.Cells[0].HorizontalAlign = HorizontalAlign.Left; //在新行中动态创建一个LinkButton
LinkButton lbDetachSel = new LinkButton();
lbDetachSel.ID = "lbDetachSel";
lbDetachSel.Text = "解除所选";
lbDetachSel.Click += new EventHandler(lbDetachSel_Click);
e.Row.Cells[0].Controls.Add(lbDetachSel);
}}//lbDetachSel的Click事件的处理函数
protected void lbDetachSel_Click(object sender, EventArgs e)
{
try
{ }
catch (Exception ex)
{ }
}//GridView行绑定数据后触发的事件
protected void grdOperas_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Footer)
{
//动态创建一个LinkButton
/*
LinkButton lbDetachSel = new LinkButton();
lbDetachSel.ID = "lbDetachSel";
lbDetachSel.Text = "解除所选";
lbDetachSel.Click += new EventHandler(lbDetachSel_Click);
e.Row.Cells[0].Controls.Add(lbDetachSel);
*/
}
}如果把LinkButton的动态创建工作放在grdOperas_RowCreated事件中进行,那么动态
创建的LinkButton的Click事件是有效的(就是在页面上单击后会触发lbDetachSel_Click),
但是把LinkButton的创建工作放在grdOperas_RowDataBound事件中进行(注掉的代码)就不行。