我正在使用框架版本 2.0(不能使用 4.0)并且以下将事件处理程序分配给动态创建按钮的方式不起作用:
deleteButton.Click += (object sender, EventArgs e) => DeleteAnswer(sender, e, toDelete);
错误:不能使用“lambda 表达式”,它不是 ISO - 2 C# 的一部分
所以经过一番搜索,我尝试了这种方式:
deleteButton.Click += new System.EventHandler(DeleteAnswer(sender, e, toDelete));
错误:需要方法名称
然后这样:
deleteButton.Click += DeleteAnswer(sender, e, toDelete);
错误:无法将类型“void”隐式转换为“System.EventHandler”
这是我的代码的简短部分:
public partial class Question : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Some Codes Here
if(//Some Condition)
{
Button deleteButton = new Button();
deleteButton.Click = //Event Handler Here
}
}
protected void DeleteAnswer(object sender, EventArgs e, String answer)
{
}
}
分配事件处理程序并传递参数的正确方法是什么?
更新