更新
我应该学会更仔细地阅读错误信息。我忘记在我的列规范中为 gridview 更改一些相同的 ID,这导致了“多个相同的 ID”错误。
感谢您阅读我的问题以及曾经试图帮助我的所有人。免费拍我的脸
我试图从 GridView 内的用户控件内的 ImageButton 中获取 OnClick 或 OnCommand 事件。我尝试创建 imagebutton 所以它抛出一个命令:
<asp:ImageButton runat="server" ID="exchanceButton"
Visible="False" ImageUrl="../Images/Icons/Exchange.png"
CommandName="exchanceCommand" CommandArgument="1">
并在 GridView OnRowCommand 中捕获它,但我收到以下错误:找到具有相同 ID 'userControlPlan' 的多个控件。FindControl 要求控件具有唯一的 ID。 我尝试调试,但它根本没有到达我的 OnRowCommand。
我尝试了以下指南,但没有成功:http: //msdn.microsoft.com/en-us/library/bb907626.aspx
我还尝试通过在 UserControl 中创建自己的事件来执行该事件,然后为每个 UserControl 分配一个侦听器:
public delegate void OnExchanceClickDelegate(int id);
public event OnExchanceClickDelegate OnExchangeClick;
protected void exchanceButton_Click(object sender, ImageClickEventArgs e)
{
if (OnExchangeClick != null)
OnExchangeClick(1);
}
但我得到关于多个控件的相同错误。
你们中的任何人对我如何正确地将事件从 UserControl 内的 ImageButton 引发到 Gridview 或其他东西有任何建议吗?