Załóżmy, że mamy sterowanie akordeonem z kilkoma przyciskami umieszczonymi w innej kontrolce Accordion. Problem polega na tym, że zdarzenia tego przycisku nie są obsługiwane po stronie serwera. Przykład:Zdarzenia nie są uruchamiane z zagnieżdżonego kontrolera akordeonu
Mam następujący kod:
<form runat="server">
<ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajax:ToolkitScriptManager>
<ajax:Accordion ID="Accordion1" runat="server" Enabled="True" Visible="true">
<Panes>
<ajax:AccordionPane ID="AccordionPane1" runat="server">
<Header>
header1 <asp:button id="ButtonH" runat="server" text="ButtonH" onclick="Button1_OnClick" />
</Header>
<Content>
<ajax:Accordion ID="Accordion12" runat="server" Enabled="True">
<Panes>
<ajax:AccordionPane ID="AccordionPane12" runat="server">
<Header>
header2
<asp:button id="ButtonH2" runat="server" text="ButtonH2" onclick="Button1_OnClick" />
</Header>
<Content>
<asp:button id="ButtonContent" runat="server" text="Content" onclick="Button1_OnClick" />
content1</Content>
</ajax:AccordionPane>
</Panes>
</ajax:Accordion>
</Content>
</ajax:AccordionPane>
</Panes>
</ajax:Accordion>
</form>
kodzie:
protected void Button1_OnClick(object sender, EventArgs e)
{
var button = (Button)sender;
}
Button1_OnClick
metoda jest wykonywana tylko na ButtonH
kliknięcia, ale nie na ButtonH2
ani ButtonContent
kliknięć. Czy ktoś ma jakieś pomysły, za którymi tęsknię?
Dzięki!
Czy dzieje się to w przypadku każdej przeglądarki? Czy jest to problem związany z przeglądarką? – Abel
@Abel: Dzieje się tak przynajmniej na IE 9 i FF 5.0, więc wydaje się, że nie jest to zależne od przeglądarki. – Andy
Nie jestem pewien, czy jest to powiązane, ale sprawdź sam: http://forums.asp.net/t/1405543.aspx/1?ImageButton+kliknięcie+wydarzenia+nie+nie+wymagane+w+pisieCentrum –