【发布时间】:2012-03-27 10:18:47
【问题描述】:
我有一个网页,其中有一个网格视图。我已经在页面加载事件中填充了 gridview。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
loadGridView();
}
}
这是加载gridview的方法。
private void loadGridView()
{
dataTable dt = getData(); // this function populates the data table fine.
gridView1.dataSource = dt;
gridview1.dataBind();
}
现在我在网格视图的 RowDataBound 事件中的一个网格视图列中添加了链接按钮。
protected void gvTicketStatus_RowDataBound(object sender, GridViewRowEventArgs e)
{
LinkButton lb = new LinkButton();
lb.Text = str1; // some text I am setting here
lb.ID = str2; // some text I am setting here
lb.Click += new EventHandler(lbStatus_click);
e.Row.Cells[3].Controls.Add(lb);
}
最后这是链接按钮点击事件的事件处理程序代码。
private void lbStatus_click(object sender, EventArgs e)
{
string str = ((Control)sender).ID;
// next do something with this string
}
问题是,LinkButtons 很好地出现在数据网格中,但点击事件没有得到执行。控件永远不会到达事件处理程序代码。当我单击链接按钮时,页面会被刷新。可能是什么问题?
我尝试从 (!isPostBack) 范围外调用 loadGridView() 方法,但没有帮助!
【问题讨论】: