ASP.net是否为实现ITemplate接口的控件创建自定义命令?

ASP.net是否为实现ITemplate接口的控件创建自定义命令?,asp.net,command,dynamic-data,itemplate,Asp.net,Command,Dynamic Data,Itemplate,我拥有从ITemplate接口继承的控件。 数据显示在控件初始化时自动生成的HtmlTable控件中。 每行包含表示标准命令(编辑、删除等)的ImageButton控件。 下面是使用标准命令创建ImageButton并将其添加到行模板的代码: var lkbCancel = new ImageButton() { CommandName = "Edit", ImageUrl = "EditIco.png", ToolTip = "Edit", CausesVali

我拥有从
ITemplate
接口继承的控件。 数据显示在控件初始化时自动生成的
HtmlTable
控件中。 每行包含表示标准命令(编辑、删除等)的
ImageButton
控件。 下面是使用标准命令创建
ImageButton
并将其添加到行模板的代码:

var lkbCancel = new ImageButton()
{
    CommandName = "Edit",
    ImageUrl = "EditIco.png",
    ToolTip = "Edit",
    CausesValidation = false,
};

commandCell.Controls.Add(lkbCancel);
我想使用自定义命令添加
ImageButton
(不是标准的添加、编辑、删除和其他命令)。
那么,如何在
Itemplate
控件中添加自定义命令并正确处理它?

只需订阅单击事件

lkbCancel.Click += (sender,e) => {
    //Do something here..
};

您可以访问绑定到该行的当前数据项,请参见

,但我无法在单击事件实现中访问未充分显示的行
在单击或命令事件中是否存在传递当前行的某种方式?当前如何处理
编辑
删除
命令?您可能可以使用
NamingContainer
父级
在控制树中访问表行,但是,您可以访问该行绑定到的数据项,请参见我不处理
Edit
Delete
命令。这是标准的comaands,在可绑定对象中自动处理。我只需在
CommandName
属性中指定“Edit”或“Delete”,命令将按预期工作,无需任何其他操作。