Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以使用lambdas绑定中继器内的按钮_C#_Asp.net_Webforms_Lambda_Nullreferenceexception - Fatal编程技术网

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提出了一个非常好的建议。如果这是错误的,那么您必须提供更多的代码。