- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Parametri e popup
-
Parametri e popup
Salve a tutti,
questo è il mio primo post in questo forum e chiedo a qualche esperto del settore ASP.Net un parere per meglio affrontare un classico problema nella programmazione di pagine web.
Sto sviluppando un'applicazione in Asp.Net 2.0 e ho la seguente situazione :
-) 1 pagina classica di form dove l'utente inserisce varie informazioni.
-) n pagine di dettaglio delle informazioni da inserire che si aprono a popup dalla pagina di form del punto precedente.Lo scenario è che l'utente si trova nella pagina di form e per alcune informazioni deve scendere in dettaglio cliccando su di un bottone che apre un popup e, ad informazione inserita, chiude per tornare sulla pagina di form. Ora quando inoltro il form devo ovviamente conoscere le informazioni inserite nelle pagine popup di dettaglio, inoltre sarebbe opportuno poter già visualizzare le scelte sulla pagina di form in modo da riaprire il popup dettaglio in caso di errore.
Il primo problema che ho è che quando chiudo la finestra di popup dovrei forzare un postback sulla pagina form per caricare i valori inseriti in dettaglio.
Il secondo problema è accedere a queste informazioni, ma potrei risolverlo con la sessione, che ne dite ?
Ringrazio per l'attenzione e spero di non aver chiesto troppo come primo thread
Ciao!
-
Ciao Larry e benvenuto nel Forum GT!
Se programmi in ASP.NET 2.0 non hai necessità di usare variabili di sessione per passare informazioni da un form ad un altro in quanto tutto lo "status" di una sessione web lo puoi controllare lato server se utlizzi:1- progettazione e programmazione object-oriented
2- gestione di Pannelli di controlli web
3- gestione degli eventi (onLoad, ...) nelle pagine asp.netUn buon punto di partenza per i punti 2 e 3 è dato dal seguente script:
ASP.NET version of "Wizard (Multi-Page Form)"
Per il punto 1 cerca un buon manuale su Google!
PS: ti consiglio di lasciar perdere i pop-up perchè sempre più spesso vengono bloccati dai browser ( o dalle toolbars) rendendo i form poco utilizzabili. Molto meglio se inizi da subito a dare uno sguardo alla programmazione tramite AJAX
Buon lavoro!
-
Ciao paocavo,
grazie per le info e data la tua disponibilità ne approfitto per deviare un secondo su Ajax.
La mia applicazione è ovviamente per una intranet e pertanto il problema popup è alquanto limitato. Ho fatto due pagine web master e dettaglio del tipo :
Pagina Master
PartialPublicClass Master Inherits System.Web.UI.Page ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load Dim script AsString = "<script type=""text/javascript"">" & vbCrLf & _ "<!--" & vbCrLf & _ "function update(elemValue) {" & vbCrLf & _ "document.getElementById('Nome').innerText=elemValue[0];" & vbCrLf & _ "document.getElementById('Cognome').innerText=elemValue[1];" & vbCrLf & _ "}" & vbCrLf & _ "//-->" & vbCrLf & _ "</script>" ClientScript.RegisterClientScriptBlock(GetType(Master), "update", script) Button.Attributes.Add("onclick", "window.open('Dettaglio.aspx',null,'left=400, top=100, height=350, width= 350, " & _ "status=no, resizable= no, scrollbars= no, toolbar= no,location= no, menubar= no');") EndSub EndClass
Pagina Popup :
PublicPartialClass Dettaglio Inherits System.Web.UI.Page ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load IfNot IsPostBack Then Dim script AsString = "<script type=""text/javascript"">" & vbCrLf & _ "<!--" & vbCrLf & _ "function Done() {" & vbCrLf & _ "var fName=document.getElementById('dettNome').value; " & vbCrLf & _ "var lName=document.getElementById('dettCognome').value; " & vbCrLf & _ "var ret= new Array(fName,lName);" & vbCrLf & _ "window.opener.update(ret); " & vbCrLf & _ "window.close(); " & vbCrLf & _ "}" & vbCrLf & _ "//-->" & vbCrLf & _ "</script>" ClientScript.RegisterClientScriptBlock(GetType(Master), "Done", script) EndIf EndSub EndClass
In questo modo riesco a passare dei dati dal popup alla pagina form, in questo caso ho Nome e Cognome (2 textbox) in Master e dettNome e dettCognome (2 textbox) in Dettaglio (ES. STUPIDISSIMO !!!).
Nel dettaglio (popup) ho un pulsante che nell'evento OnClick richiama la funzione script Done().
Diciamo che in questo modo ho semirisolto. Non so quanto sia elegante la mia soluzione però ...
Ora il problema che dovevo affrontare era quello di aprire delle finestre secondarie per non appensatire la finestra principale. Con AJAX cosa ci facevo ? Considera che non so nulla di AJAX !!! Se non che dovrebbe essere un insieme di tecnologie in parte lato client e in parte lato server che permettono di rendere più user friendly e simile ad un'applicazione desktop una applicazione web.