82 messaggi dal 14 luglio 2005
Ciao a tutti ragazzi,
vi chiedo un aiuto,
In pratica vorrei far in modo che al click di un oggetto
per me è un tag <p> venga mostrato un panel con all'interno dei contenuti.

il codice che ho iniziato a scrivere è questo:

  <p id="sezione_Prodotti" runat="server" onclick="Prodotti_Onclick">TITOLO</p>
  <asp:Panel runat="server" id="pnlProdotti" visible="false">
  
  <div>
    <p>
    contenuto
    </p>
  </div>

    </asp:Panel>





però non so come comunicare al tag <p> che quando clicco sul tag allora si apre il pannello sotto
ho provato a scrivere una cosa di questo tipo ma senza alcun risultato

    protected void Prodotti_Onclick(object sender, EventArgs e)
    {
        
        
        pnlProdotti.Visible = true;

    }    



dove sbaglio amici?
Grazie mille per il vostro aiuto!
ely85 ha scritto:
Ciao a tutti ragazzi,
vi chiedo un aiuto,
In pratica vorrei far in modo che al click di un oggetto
per me è un tag <p> venga mostrato un panel con all'interno dei contenuti.

il codice che ho iniziato a scrivere è questo:

  <p id="sezione_Prodotti" runat="server" onclick="Prodotti_Onclick">TITOLO</p>
  <asp:Panel runat="server" id="pnlProdotti" visible="false">
  
  <div>
    <p>
    contenuto
    </p>
  </div>

    </asp:Panel>





però non so come comunicare al tag <p> che quando clicco sul tag allora si apre il pannello sotto
ho provato a scrivere una cosa di questo tipo ma senza alcun risultato

    protected void Prodotti_Onclick(object sender, EventArgs e)
    {
        
        
        pnlProdotti.Visible = true;

    }    



dove sbaglio amici?
Grazie mille per il vostro aiuto!

Ciao!!

Secondo me sbagli a voler passare un evento ad un tag p... invece prova ad usare un button oppure linkbutton dove al verificarsi l'evento onClick scateni quel codice... vedrai che funzionerà!

PS: ho visto ora che hai anche un errore nel tuo markup:
  <p id="sezione_Prodotti" runat="server" onclick="Prodotti_Onclick">TITOLO</p>
  <asp:Panel runat="server" id="pnlProdotti" visible="false">
  
  <div>
    <p>
    contenuto
    </p>
  </div>

    </asp:Panel>




sostituiscilo con:
  <asp:Button id="btnOpenPanel" runat="server" onClick="Prodotti_Onclick">TITOLO</asp:Button>
  <asp:Panel runat="server" id="pnlProdotti" visible="false">
  
  <div>
    <p>
    contenuto
    </p>
  </div>

    </asp:Panel>





Modificato da ricardo78 il 03 luglio 2011 23.25 -
Modificato da ricardo78 il 03 luglio 2011 23.26 -

Creazione Siti Vicenza
Posizionamento Siti - SEO
24 messaggi dal 19 ottobre 2010
Ciao ti conviene utilizzare javascript
oppure jquery

praticamente devi impostare come onclick="il metodo javascript"

cosi eviti di farlo lato server


il metodo javascipt

document.getElementById("panele").display = "none";

// oppure

document.getElementById("panele").display = "block";


ovviamente devi gestire il doppio click
quindi io farei un controllo nel metodo javascirpt
per vedere se l'elemento e' visibile oppure no

si e' visibile lo nascondi
no non e' visibile lo rendi visibile.


Ciao
domenico.87 ha scritto:
Ciao ti conviene utilizzare javascript
oppure jquery

praticamente devi impostare come onclick="il metodo javascript"

cosi eviti di farlo lato server


il metodo javascipt

document.getElementById("panele").display = "none";

// oppure

document.getElementById("panele").display = "block";


ovviamente devi gestire il doppio click
quindi io farei un controllo nel metodo javascirpt
per vedere se l'elemento e' visibile oppure no

si e' visibile lo nascondi
no non e' visibile lo rendi visibile.


Ciao

Si questa soluzione non e' male, ma prima di usarla bisognerebbe controllare che non siano disabilitati gli script del client altrimenti non funzionerebbe...

Io in genere quando ho una pagina abbastanza leggera ed un traffico del sito non impegnativo preferisco usare gli script lato server... non so', mi danno piu sicurezza sotto certi aspetti...

Creazione Siti Vicenza
Posizionamento Siti - SEO
82 messaggi dal 14 luglio 2005
Ciao Amici,
grazie mille per i vostri consigli
utilizzo anch'io jqry ma nel mio caso mi ha fatto più comodo utilizzare un linkbutton e un panel!

Vi chiedo una cosa
per far in modo che una volta aperto il panel
se clicco nuovamente sullo stesso linkbutton come faccio per impostare il visible= false?

ora il codice è così:


protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Pnllinkb1.Visible = true;

    }



quale controllo posso fare sempre sullo stesso linkbutton?
Grazie mille!
ely85 ha scritto:
Ciao Amici,
grazie mille per i vostri consigli
utilizzo anch'io jqry ma nel mio caso mi ha fatto più comodo utilizzare un linkbutton e un panel!

Vi chiedo una cosa
per far in modo che una volta aperto il panel
se clicco nuovamente sullo stesso linkbutton come faccio per impostare il visible= false?

ora il codice è così:


protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Pnllinkb1.Visible = true;

    }



quale controllo posso fare sempre sullo stesso linkbutton?
Grazie mille!

Ciao, prova a fare cosi:
protected void LinkButton1_Click(object sender, EventArgs e)
    {
        if (Pnllinkb1.Visible == true;)
        {
            sezione_prodotti.Text = "chiudi";
            sezione_prodotti.OnClick = "firma del metodo per la chiusura";
        }
}


Provalo perche l'ho scritto al volo senza VS.... quindi non so se è corretto...

Creazione Siti Vicenza
Posizionamento Siti - SEO
82 messaggi dal 14 luglio 2005
Ciao Ricky!
grazie mille sei sempre gentile!
ma non ho capito bene
in pratica compare il testo chiudi?
e poi su qul testo devo scrivere l'evento visible=false?
al posto di "firma del metodo della chiusura"?
grazie mille!
ely85 ha scritto:
Ciao Ricky!
grazie mille sei sempre gentile!
ma non ho capito bene
in pratica compare il testo chiudi?
e poi su qul testo devo scrivere l'evento visible=false?
al posto di "firma del metodo della chiusura"?
grazie mille!

Figurati, se posso è sempre un piacere aiutarti....

In pratica con quel metodo tu stai assegnando le proprietà del button da codice.

Con la riga "sezione_prodotti.Text = "chiudi";" cambi il testo che comprare nel button e con "sezione_prodotti.OnClick = "firma metodo";" stai assegnando la firma del metodo che si deve scatenare quando si clicca sul pulsante.

ti faccio un esempio pratico:
protected void LinkButton1_Click(object sender, EventArgs e)
    {
        if (Pnllinkb1.Visible == true;)
        {
            sezione_prodotti.Text = "chiudi";
            sezione_prodotti.OnClick= "btnChiudi_click";
        }
}

protected void btnChiudi_click(object sender, EventArgs e)
{
  Pnllinkb1.Visible = false;
}


cosi quando il panel è chiuso ti appare i solito button, quando
invece è aperto gli attributi del button cambiano a runtime, cosi se clicchi quando il panel è aperto semplicemente lo chiudi...

Provalo perche non l'ho testato... ok?

ciao e fammi sapere!

Creazione Siti Vicenza
Posizionamento Siti - SEO

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.