我在gridview中以编程方式生成了linkbutton。这是
protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
LinkButton lb = new LinkButton();
LinkButton nlb = new LinkButton();
lb.ID = "Ok";
lb.Text = e.Row.Cells[3].Text;
lb.Click += new EventHandler(TotalMinor_Click);
e.Row.Cells[3].Controls.Add(lb);
nlb.ID = "TotalMinorLink";
nlb.Text = e.Row.Cells[4].Text;
nlb.Click += new EventHandler(this.TotalMinor_Click);
e.Row.Cells[4].Controls.Add(nlb);
}
protected void TotalMinor_Click(object sender, EventArgs e)
{
}
我希望在点击链接时调用TotalMinor_Click
函数,但它不会调用该函数。可能是什么原因?
答案 0 :(得分:1)
未触发事件的情况是ViewState问题,您的控件应该存在并在ASP.NET Page LifeCycle的OnInit或OnLoad事件上注册事件。也许你应该放置一个隐藏的div并将你的控件放在这个div中。在GridView_RowDataBound
事件处理程序中,只需找到这些div并切换可见性。
答案 1 :(得分:0)
在LinkButton
内的gridview
上,它应该是这样的..
<asp:LinkButton runat="server" ID="lnkbtnID" Text='Text' OnClick="TotalMinor_Click" />