我有一个GridView。在这个GridView中,我们动态生成列。我们还在GridView中将Autogenerate列设置为true。现在问题是我动态地将链接按钮添加到那些列。
问题: 链接按钮单击不起作用。它正在进行回发,所有链接都消失了。我尝试添加命令并单击事件,但它们都没有工作。任何帮助将不胜感激。
代码背后:
protected void GridViewTest_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.DataItem != null && e.Row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
LinkButton link = new LinkButton();
link.Text = e.Row.Cells[i].Text;
link.EnableViewState = true;
link.Click += new EventHandler(onLinkClick);
e.Row.Cells[i].Controls.Add(link);
}
}
}
protected void onLinkClick(object sender, EventArgs e)
{
this.ModalPopupExtender1.Show();
}
ASPX :
<asp:GridView
ID="GridViewTest"
runat="server"
AutoGenerateColumns="true"
CssClass="resultsTable"
Width="100%"
CellPadding="2"
CellSpacing="0"
GridLines="None"
autogenerateeditbutton="true"
OnRowDataBound="GridViewPullHistory_RowDataBound"
OnRowCreated="GridViewPullHistory_RowCreated">
<AlternatingRowStyle CssClass="gridRow1" HorizontalAlign="Center" />
<RowStyle CssClass="gridAltRow1" HorizontalAlign="Center" />
<HeaderStyle CssClass="gridHeader" Font-Bold="true" HorizontalAlign="Right" />
</asp:GridView>
答案 0 :(得分:0)
只需注册PostBack触发器(因为您使用的是UpldatePanel):
ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(link);