Ajax Modal Box

martedì 11 settembre 2012 - 14.34
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows XP  |  Visual Studio 2010  |  SQL Server 2005  |  Internet explorer 8.0  |  Chrome  |  Firefox  |  Javascript  |  CSS 3.0

Jackons Profilo | Newbie

Salve a tutti sto sviluppando un sito web e mi servirebbe un aiuto per lanciare una modal box che prenda dei dati dal database.
Pensavo di lanciarla tramite javascript pero' devo anche passare un parametro ad un web service per fargli estrarre i dati giusti dal database.

Questo e' il codice del bottone che dovrebbe chiamare il modal popup
<asp:Button ID="btnShow" Text="Details" runat="server" />

Questo e' il codice del modal popup:
<asp:ModalPopupExtender ID="btnShow_ModalPopupExtender" runat="server" TargetControlID="btnShow" OkControlID="btnDlgOK" PopupControlID="pnlPopup" DynamicControlID="lblInfo" DynamicServicePath="GetDetails.asmx" DynamicServiceMethod="GetData" BackgroundCssClass="modal" DropShadow="true" > </asp:ModalPopupExtender

E questo suppongo sia il codice javascript per aprirlo
<script type="text/javascript"> function showpop() { $find("btnShow_ModalPopupExtender").show(); } </script>

Io non sono un esperto di asp.net e javascript qquindi mi chiedevo: Come faccio a richiamare il codice javascript dal bottone, passargli un parametro e richiamare il web service per estrarre i dati dal database e metterli dentro il modal popup?

Grazie in anticipo



Gluck74 Profilo | Guru

1 - Devi utilizzare l'extender lato client. Quindi utilizza l'attributo BehaviorID:
<asp:ModalPopupExtender ... ... BehaviorID="ClientModalPopupExtender">
2 - Il metodo del webService deve avere un parametro con nome predefinito
public static string myWebMethod(string contextKey) { ... }
3 - Richiami il modalPopUp da javascript e devi settare il ContextKey (in questo esempio prendendo il valore da una casella di testo)
<asp:Button ID="btnShow" runat="server" Text="Details" OnClientClick="return showModal();" /> <input type="text" id="txtParametro" />
function showModal() { var modalPopup = $find('ClientModalPopupExtender'); if (modalPopup != null) { var parametro = $get('txtParametro').value; modalPopup._DynamicContextKey = parametro; modalPopup.show(); return false; } }

Fammi sapere
ciao
____________
http://glucolo.wordpress.com
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5