37 messaggi dal 06 settembre 2002
Ciao a tutti

riguardo sempre al datalist volevo sapere se era possibile creare un hyperlink per ogni elemento della datalist in base a delle condizioni

sono riuscito a mettere gli hyperlink ad ogni elemento della datalist scrivendo codice in design mode, mi chiedevo se era possibile creare degli hyperlink da codice in base a delle condizioni , sempre dentro una datalist

grazie

zanza67
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
zanza67 ha scritto:
riguardo sempre al datalist volevo sapere se era possibile creare un hyperlink per ogni elemento della datalist in base a delle condizioni

Gli hyperlink non fanno altro che creare dei banali link in html nella pagina.

Puoi passare i parametri di tuo interesse ad una funzione che può ritornare il link di tuo interesse... per esempio:

<itemtemplate>
<a href='<%#
CreaLink(DataBinder.Eval(Container.DataItem,"par1").ToString(), DataBinder.Eval(Container.DataItem,"par2").ToString()) %>
</itemtemplate>

Nel codice scrivi ora la funzione:

string CreaLink(string par1,string par2)
{
if (...)
return "pagina.aspx?par="+par1;
if (...)
return "paginax.aspx?par="+par2;
}

Ciao
.
37 messaggi dal 06 settembre 2002
grazie per la risposta pero credo di essermi spiegato male

io intendevo che nel campo mostrato deve comparire oppure no un hyperlink a seconda di alcune condizioni

quello che mi hai spiegato sono link a pagine diverse sotto certe condizioni
io intendevo che il link puo o non puo esistere a seconda di alcune condizioni


grazie
637 messaggi dal 12 agosto 2005
Nel tuo caso dovrebbe essere sufficiente impostare la proprietà Visible dell'HyperLink. Puoi provare così:
<asp:HyperLink ID="hplLink" runat="server"
            NavigateUrl="..."
            Text="..."
            Visible='<%# ImpostaVisible() %>' />


Dove "ImpostaVisible" è una funzione che restituisce True/False a seconda dei casi.

Esiste anche un altro metodo, forse più chiaro: intercettare l'evento ItemDataBound e fare tutto in maniera programmatica:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            HyperLink hplLink = (HyperLink)e.Item.FindControl("hplLink");

            if (condizioni)
                hplLink.Visible = true;
            else
                hplLink.Visible = false;
        }
    }


Hope this helps.

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.