2010-09-30 65 views
2

我有代码,在那里我编程添加ImageButton到表,我需要将事件处理程序分配给此ImageButton。当我编写ASP/HTML代码时,有属性OnCommand,但在C#中,没有这样的东西。只需CommandName和CommandAttribute。如何以编程方式为ImageButton添加EventHandler OnCommand?

ImageButton ib = new ImageButton 
        { 
         CommandName = "Edit", 
         CommandArgument = id.ToString(), 
         ImageUrl = "~/Images/icons/paper_pencil_48.png", 
         AlternateText = "Edit document" 
        }; 

回答

2

在ASP.NET中,该属性被命名为“On”+事件名称。

在C#中,它仅是事件的名称:Command

所以我们说你要添加在页面加载图像按钮:

protected void Page_Load(object sender, EventArgs e) 
{ 
    int id = 0; 
    ImageButton ib = new ImageButton 
    { 
     CommandName = "Edit", 
     CommandArgument = id.ToString(), 
     ImageUrl = "~/Images/icons/paper_pencil_48.png", 
     AlternateText = "Edit document" 
    }; 
    ib.Command += ImageButton_OnCommand; 

    form1.Controls.Add(ib); 
} 

这是你的答案,就像DTB说:

ib.Command += ImageButton_OnCommand; 

然后,你还要事件处理程序本身,只是要完成:

void ImageButton_OnCommand(object sender, EventArgs e) 
{ 
    // Handle image button command event 
} 
+0

伟大,谢谢你们。 ;) – Andree643 2010-10-02 10:55:35

1

事件处理函数不能用对象初始值设定项语法添加。您需要单独添加它们:

ImageButton ib = new ImageButton { ... }; 
ib.Command += ImageButton_Command; 
0

ib.Command + =

哥们说行之后添加以下代码,然后单击塔布·特沃consegetive时候,你的工作就完成了。

相关问题