Quando si usa Silverlight 1.0 in una pagina ASP.NET è spesso necessario poter invocare il PostBack di un controllo al seguito di un'azione all'interno del Canvas, per poter mischiare parte della logica con quella server side.
In questo scenario, la soluzione più pratica è quella di invocare il metodo __doPostBack, generato automaticamente dalla WebForm ASP.NET, passando come primo parametro l'ID (lato client) del controllo di cui si vuole scatenare il PostBack e come secondo parametro un valore nullo (a meno che non sia necessario passare un'informazione aggiuntiva, cosa necessaria per alcuni controlli più complessi):
__doPostBack('Submit', '');
Qualora si faccia uso di ASP.NET AJAX e si voglia richiamare l'aggiornamento dell'UpdatePanel da Silverlight, è sufficiente inserire all'interno del controllo un semplice campo hidden, facendo attenzione che la proprietà ChildrenAsTrigger sia impostata su True o lo stesso controllo sia elencato tra i trigger dell'UpdatePanel.
<asp:UpdatePanel runat="server"> <ContentTemplate> <asp:HiddenField id="FakeButton" runat="server" /> ... </ContentTemplate> </asp:UpdatePanel>
In questo caso è dunque sufficiente richiamare questo codice:
__doPostBack('<%=FakeButton.ClientID%>', '');
In questo modo l'UpdatePanel sarà aggiornato direttamente da Silverlight: comodo in tutti quegli scenari in cui si ha un contenuto misto nella pagina.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Eseguire una chiamata AJAX per inviare dati al server in Angular 2
- Formati per l'impostazione del colore in CSS3
- .NET Conference Italia 2024 - Milano
- Gestione CSS in Blazor con .NET 9
- build 7712 per #wp7 #mango riservata agli sviluppatori, con refresh dei tool su connect. info su http://aspitalia.com/y6
- oggi a partire dalle 16:00, non perdere #connect. tutto sul futuro di #vs, #azure, #aspnet https://aspit.co/azk