Poblema urgente con web form

domenica 22 agosto 2004 - 23.50

giangi_77 Profilo | Newbie

Ciao a tutti,
ho un problema da risolvere...
nella mia web form ho tre blocchi principali in cui ci sono diverse informazioni da inserire.
Dovrei fare in modo che tramite un'apposita icona possa "nascondere" ogni singolo blocco
in modo da evitare che la pagina rimanga lunga al caricamento della pagina.
in poche parole l'effetto dovrebbe essere quello della schermata di windows di gestione risorse.
Avete presente quando si clicca sul segno "+" presente affianco al nome delle cartelle che contengono
delle sottocartelle?
beh... sapete se è possibile (credo di sì) e come potrei realizzare una cosa simile tenendo conto che
selezionando la mia iconcina (il "+" di gestione risorse) dovrò nascondere o visualizzare alcuni campi
della web form, contenuti tutti nella stessa tabella (se questo può aiutarvi)
grazie in anticipo.
ciao

Brainkiller Profilo | Guru

Ciao,
effetti di questo tipo di solito si creano con Javascript e DHTML.
Io normalmente uso questa tecnica. Credo dei tag <DIV in cui inserisco tutto il mio contenuto.
Per esempio creo tre etichette e sotto di quete tre tag DIV con ognuno all'interno una table.
Ai tag DIV poi assegno lo style display:none in questo modo non sono visibili. Poi sulle etichette associo un evento onclick collegato ad una procedura Javascript che agisce sui vari DIV e cambia a runtime lo style per esempio:

document.all["idoggetto].style.display="";

per farlo apparire e:

document.all["idoggetto].style.display="none";

per farlo sparire.

Se sei bravo a fianco dell'etichetta puoi mettere una GIF con il più che cambi con il meno appena la clicchi.
Così hai l'effetto della Treeview.

ciao
david

giangi_77 Profilo | Newbie

mamma mia che rapidità eheheh
grazie mille
domani lo proverò e ti faccio sapere.
grazie ancora
ciao

giangi_77 Profilo | Newbie

purtroppo non funziona... la sintassi è corretta? ho anche provato a cambiare la stringa di
codice partendo da quella base ma niente da fare.
In qualche modo ho raggiunto il mio scopo tramite dei button e quindi eseguendo tutto lato server.
in pratica al click sul tasto controllo il valore attuale e imposto a visible o meno la tabella
che contiene i miei dati.

Per nascondere:
Page.FindControl("tblPersonalizzati").Visible = False

Per visualizzare:
Page.FindControl("tblPersonalizzati").Visible = True

c'è un solo problema però.... per fare ciò devo impostare runat=server nelle proprietà della
tabella e dato che al suo interno c'è un PlaceHolder che carico dinamicamente da codice...
non riesco a caricare i dati visto che non trovo il placeholder tramite gli intrecci di for e if che
utilizzo.
Mi rendo conto di essere stato un po' contorto... qualcuno riesce ad aiutarmi comunque :-(
grazie in anticipo
ciao

Brainkiller Profilo | Guru

Forse non mi sono spiegato.
Le righe di codice che ti ho postato sono codice Javascript e non codice Server side in C# o VB.NET.

Tu hai bisogno di produrre server-side dei tag DIV dandogli un ID univoco.
Poi devi creare dei link e nell'HREF ci metti un bel javascript:Visualizza()
Poi definisci un blocco <SCRIPT javascript incui metti la function Visualizza.
Lì dentro metti le istruzioni che ti ho dato io passando come ID l'ID del tuo DIV.
E' un po' complesso, se non riesci proprio fai ancora un fischio.

ciao
david

giangi_77 Profilo | Newbie

scusa ancora...
ho capito che si tratta di javascript ma quando tento di cliccare sull'immagine che
uso come riferimento mi restituisce l'errore che compare nell'immagine allegata.
di seguito ti riporto il codice completo della parte in questione.
non considerare l'if della funzione... per ora mi serviva qualcosa per provare il tuo codice
e di volta in volta cambierò l'immagine.

PARTE HTML:
IMMAGINE CON LINK:
<img name="imgProva" src="1" width="10" height="5" alt="Apri" onclick="chiudiBloccoPersonalizzati()" border="1">
DEFINIZIONE LIVELLO:
<div id="divInfo" align="center">codice html</div>

FUNZIONE JAVASCRIPT:
function chiudiBloccoPersonalizzati()
{
if (document.frmMenuPrincipale.imgProva.src != "")
{
document.all['divInfo'].style.display="";
}
else
{
//document.frmMenuPrincipale.divProva.style("display")='none';

document.all['divInfo'].style.display="none";
}
}

giangi_77 Profilo | Newbie

provo a riallegare l'immagine.

giangi_77 Profilo | Newbie

problema risolto!
alla fine il primo errore era dovuto ad altro. questo mi ha portato a lavorare con Mozilla
per intercettare meglio gli errori.
però credo di aver capito che questo script non funziona in Mozilla visto che ora in Internet
Explorer funziona benissimo.
grazie ancora e a presto
ciao
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5