C# 是否可以使用lambdas绑定中继器内的按钮
我使用的是一个中继器,它的项目中有一个按钮。对于每个按钮,希望它运行该中继器中项目的C# 是否可以使用lambdas绑定中继器内的按钮,c#,asp.net,webforms,lambda,nullreferenceexception,C#,Asp.net,Webforms,Lambda,Nullreferenceexception,我使用的是一个中继器,它的项目中有一个按钮。对于每个按钮,希望它运行该中继器中项目的SaveToDatabase()函数。是否可以将lambda绑定到该按钮的Command事件 我的代码是这样的: var subRole = item.DataItem as SubRole; btn_EditRole.Command += (btnSender, args) => subRole.SaveToDatabase(); 尝试一下,它会抛出一个异常,但是IDK,如果这是因为我在语法上做了一些愚
SaveToDatabase()
函数。是否可以将lambda绑定到该按钮的Command
事件
我的代码是这样的:
var subRole = item.DataItem as SubRole;
btn_EditRole.Command += (btnSender, args) => subRole.SaveToDatabase();
尝试一下,它会抛出一个异常,但是IDK,如果这是因为我在语法上做了一些愚蠢的事情,或者因为像这样绑定lambda是不可能的
对象引用未设置为对象的实例
说明:
在执行当前操作期间发生未处理的异常
网络请求
异常详细信息:System.NullReferenceException:对象引用不存在
设置为对象的实例
如果您告诉我们错误,可能会有所帮助?补充,抱歉。我原以为我会把它放进去,但显然我忘了。你的演员阵容不对。如果强制转换失败,
as
运算符返回null
。这意味着您实际上在调用null.SaveToDatabase()
。。这显然是错误的。你应该看看你实际上是如何填充模板的,以及每个项目是否都是你要转换的(SubRole
)。我不这么认为。当VisualStudio在异常处中断时,它正确地将subRole显示为适当的subRole。您需要提供更多的代码,因为我认为@SimonWhitehead提出了一个非常好的建议。如果这是错误的,那么您必须提供更多的代码。