C# 从中继器内的用户控件引发事件
我有一个引发事件的用户控件,我想在其他地方捕获 在aspx我有C# 从中继器内的用户控件引发事件,c#,asp.net,events,repeater,C#,Asp.net,Events,Repeater,我有一个引发事件的用户控件,我想在其他地方捕获 在aspx我有 <asp:Repeater runat="server" ID="rptMarcas" OnItemDataBound="rptMarcas_OnItemDataBound"> <ItemTemplate> <uc1:FabricanteArbol runat="server" ID="treeMarca"/> </ItemTemplate> <
<asp:Repeater runat="server" ID="rptMarcas" OnItemDataBound="rptMarcas_OnItemDataBound">
<ItemTemplate>
<uc1:FabricanteArbol runat="server" ID="treeMarca"/>
</ItemTemplate>
</asp:Repeater>
在用户控件中
public event EventHandler OnSelectedNodeClicked;
if (OnSelectedNodeClicked != null)
{
CatalogoChangedEventArgs eCat = new CatalogoChangedEventArgs(e, SesionManager.posCatalogo, irPagina);
OnSelectedNodeClicked(this, eCat);
}
但always OnSelectedNodeClicked为空
有人能帮忙吗?我明白了问题所在,不过我需要你解决一些问题或告诉我确切的上下文
Albero_dll.FABRICANTES fab = (Albero_dll.FABRICANTES)e.Item.DataItem;
e、 item.dataitem将是用户控件的实例,因此Albero_dll.FABRICANTES应替换为用户控件名称
App_components_FabricanteArbol tree=App_components_FabricanteArbole.Item.FindControltreeMarca;是错误的,不会起作用嗨@Soner Gönül,谢谢你的回答。我只需添加OnSelectedNodeClicked=mioselectednodeclicked,一切正常。”
Albero_dll.FABRICANTES fab = (Albero_dll.FABRICANTES)e.Item.DataItem;