Il codice JavaScript generato dal controllo SciptManager di asp.net sembra avere un bug e non può gestire UpdatePanel nascosti. Viene generato un errore JavaScript quando un controllo all'interno di un pannello aggiornato tenta di rendere visibile un altro pannello di aggiornamento.Pannello di aggiornamento ASP.NET all'interno del pannello nascosto bug possibile
Si tratta di un bug con ASP.Net AJAX? E qualcuno ha qualche idea su come aggirare questo?
Ecco un esempio di quello che sto cercando di fare
<script type="text/C#" runat="server">
protected void LinkButton1_Click(object sender, EventArgs e)
{
Panel1.Visible = true;
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click" Text="Show Panel"></asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Panel ID="Panel1" runat="server" Visible="false">
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
blah bla blah
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
Questo è l'errore JavaScript che viene generata quando cliccando sul link "LinkButton1". Questo errore deriva dal JavaScript che viene generato dal asp.net controllo ScriptManager
Error: Sys.InvalidOperationException: Could not find UpdatePanel with ID 'ctl00_ContentPlaceHolder1_UpdatePanel2'
grazie per la risposta esauriente. penseresti che il gestore delle richieste di pagine sarebbe abbastanza intelligente da realizzare il secondo updatepanel non sottoposto a rendering sulla pagina. il tuo secondo suggerimento è vicino a quello che sto cercando di fare. ma farlo in questo modo significherebbe che il pannello di aggiornamento dovrebbe circondare tutti i contenuti del segnaposto, quando, nel mio caso, solo una piccola parte di quei contenuti deve usare ajax. – MakkyNZ
Perché non racchiudere semplicemente il pannello di aggiornamento e posizionare il titolare solo sul contenuto che deve essere aggiornato, quindi? –