C# 无法在ListView ItemTemplate中为LinkButton创建事件处理程序
这是一个奇怪的问题。我有一个带有2个链接按钮的列表视图。“编辑”和“删除” 我能够为第一个linkbutton(更新)附加事件处理程序。事件处理程序中的代码执行良好。但是如果我尝试为第二个链接按钮(Delete)附加一个事件处理程序,我会得到一个错误 我的项目模板如下所示C# 无法在ListView ItemTemplate中为LinkButton创建事件处理程序,c#,.net,asp.net,listview,event-handling,C#,.net,Asp.net,Listview,Event Handling,这是一个奇怪的问题。我有一个带有2个链接按钮的列表视图。“编辑”和“删除” 我能够为第一个linkbutton(更新)附加事件处理程序。事件处理程序中的代码执行良好。但是如果我尝试为第二个链接按钮(Delete)附加一个事件处理程序,我会得到一个错误 我的项目模板如下所示 <ItemTemplate> <tr> <td>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="MessageLabel" runat="server" Text='<%# Eval("Item") %>' />
</td>
<td>
<asp:Label ID="URLLabel" runat="server" Text='<%# Eval("URL") %>' />
</td>
<td>
<asp:LinkButton ID="EditLinkButton" runat="server" OnClick="EditLinkButtonClicked"
CommandArgument='<%# Eval("ItemID") %>'> Edit</asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="DeleteLinkButton" runat="server" OnClick="DeleteLinkButtonClicked"
CommandArgument='<%# Eval("ItemID") %>'>Delete</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
编辑
删除
代码隐藏文件中声明的事件处理程序是
public void EditLinkButtonClicked(对象发送方,事件参数e)
{
-----
}
public void DeleteLinkButtonClicked(对象发送方,事件参数e)
{
-----
}
[完全相同]
第一项工作绝对好。但是如果我附加第二个处理程序,我会得到以下错误
我错过什么了吗?
注意-如果我尝试将第一个事件处理程序附加到第二个链接按钮,则不会出现错误。[ie EditLinkButtonClicked to DeleteLinkButtonClicked]
仅当我尝试将DeleteLinkButtonClicked附加到DeleteLinkButton时,才会出现此问题
有什么帮助吗?提前感谢这将是三件事:
- 您需要清理、重建解决方案并重置IIS或关闭ASP.NET开发服务器(可能某些缓存阻止您执行代码隐藏类的最新版本)
- 打字错误。再检查一下
- 事件处理程序没有正确的签名
- 您需要清理、重建解决方案并重置IIS或关闭ASP.NET开发服务器(可能某些缓存阻止您执行代码隐藏类的最新版本)
- 打字错误。再检查一下
- 事件处理程序没有正确的签名
- 这将是三件事:
<%@ Page EnableEventValidation="false" %>
如果有帮助,您应该知道:
此功能可降低发生故障的风险
未经授权或恶意回发
请求和回调。这是强烈的
建议您不要禁用
事件验证
关于
并尝试以建议的方式避免这种情况。尝试禁用Page指令的EnableEventValidation并检查它
<%@ Page EnableEventValidation="false" %>
如果有帮助,您应该知道:
此功能可降低发生故障的风险
未经授权或恶意回发
请求和回调。这是强烈的
建议您不要禁用
事件验证
关于
并尝试以建议的方式避免这种情况。同样的问题也出现在我的代码中。我使用
CausesValidation=“false”
我的代码中也出现了同样的问题。我使用
CausesValidation=“false”
谢谢Matias。。我检查了你所有的建议。但是没有运气。但是你提到的替代方法肯定会帮助我前进。是的,这是我在任何地方都在使用的方法。对我来说,命令比单独的处理程序好。它是MVC、MVP或任何将用户事件转化为操作的工具的理想选择。谢谢Matias。。我检查了你所有的建议。但是没有运气。但是你提到的替代方法肯定会帮助我前进。是的,这是我在任何地方都在使用的方法。对我来说,命令比单独的处理程序好。它是MVC、MVP或任何将用户事件转换为操作的工具的理想选择。