Vorrei segnalare uno strano comportamento della nuova versione del ModalPopupExtender che ho avuto modo di notare proprio oggi nell' ultima release di AjaxControlToolkit.
Supponiamo di avere il seguente scenario, in cui ci sono due ModalPopupExtender aventi TargetControlID diversi ma lo stesso PopupControlID:
...
<asp:Panel ID="MyTestPanel" runat="server">
My content...<br /><br />
<asp:Button ID="OKButt" runat="server" Text=" OK " />
<asp:LinkButton ID="Close_LB" runat="server" Text="Chiudi"></asp:LinkButton>
</asp:Panel>
<asp:LinkButton ID="ShowPanel1_LB" runat="server" Text="Show1"></asp:LinkButton>
<asp:LinkButton ID="ShowPanel2_LB" runat="server" Text="Show2"></asp:LinkButton>
<ajax:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
TargetControlID="ShowPanel1_LB"
PopupControlID="MyTestPanel"
OkControlID="OKButt"
CancelControlID="Close_LB"
DropShadow="true" />
<ajax:ModalPopupExtender ID="ModalPopupExtender2" runat="server"
TargetControlID="ShowPanel2_LB"
PopupControlID="MyTestPanel"
OkControlID="OKButt"
CancelControlID="Close_LB"
DropShadow="true" />
...
Con la nuova versione del controllo, al momento del click su uno dei due TargetControlID viene scatenata dal framework client-side la seguente eccezione:
"Sys.InvalidOperationException: Two components with the same id '<nomePanel>$DropShadowBehaviour' can't be added to the application."
Come si può intuire immediatamente, si tratta di un problema legato alla proprietà DropShadow del ModalPopupExtender. Infatti, se la si imposta a "false", automaticamente tutto torna a funzionare correttamente.
Nei prossimi giorni dovrò cercare di trovare una spiegazione plausibile a questo problema, anche perché sono rimasto veramente amareggiato dal fatto che nella release precedente questo scenario era supportato e funzionante (come logicamente è normale che sia).