我正在创建继承自 GridVew 的服务器控件。 我有一些在控件内动态创建的图像按钮,对于每个按钮,我都有应该执行某些操作的事件。 一切看起来都不错,但事件从未被触发。 这是我的代码的一部分:
//Class with dynamically created elements (custom grid pager)
public class GridPager
{
public event CommandEventHandler PageNumberClick;
//Element creation inside for scope
for(....)
{
ImageButton img = new ImageButton();
img.ImageAlign = ImageAlign.AbsMiddle;
img.ID = "lnkLastPage" + i.ToString();
img.CommandName = "Page";
img.CommandArgument = ((totalPages - 1) * maxPageRows).ToString();
imgBtn.Command += new CommandEventHandler(PageNumberClick);
tableCell.Controls.Add(img);
}
}
public class MyGridControl : GridView
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
GridPager.PageNumberClick += new CommandEventHandler(lnkPage_Click);
void lnkPage_Click(object sender, CommandEventArgs e)
{
PageIndex = Int32.Parse(e.CommandArgument.ToString());
BindData();
}
}
最佳答案
关于asp.net - 动态创建元素的服务器控件的事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12687028/