Visual Basic.NET - Crear enlaces dinamicos en aspx desde codigo

   
Vista:

Crear enlaces dinamicos en aspx desde codigo

Publicado por ConGanasDeAprender (2 intervenciones) el 07/11/2011 22:58:40
BUenas noches a todos, llevo un rato intentado dar con la tecla y os pido vuestra ayuda...

Tengo una serie de enlaces que quiero generar dinamicamente en una pagina aspx. Esos enlaces se dirigen a otras paginas aspx. Mi problema es que no se si necesito generar uno o n enlaces distintos y deben estar uno debajo de otro.

He visto que puedo poner en la pagina aspx la etiqueta
<a id="enlace" runat="server">Prueba</a>

y en el codigo de servidor
enlace.herf="http://google.es"

Mi duda es: si quiero en vez de un enlace poner 20, tengo que añadir 20 etiquetas en el aspx para luego una a una sustituirla?
Es que habrá ocasiones que tenga un enlace que mostrar, en otra ocasión 5 y en otra ocasión quien sabe...

No se si me he explicado...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Crear enlaces dinamicos en aspx desde codigo

Publicado por Joan B. Fàbregas (129 intervenciones) el 10/11/2011 10:21:15
Hola,

Para eso esta el control DataRepeater. Este control repite unos elementos (definidos dentro del elemento <ItemTemplate>) tantas veces como sea necesario según un origen de datos.

Para este caso, para mostrar una lista de links como una lista sería:

- en la página ASPX:
1
2
3
4
5
6
7
8
9
10
11
12
<ul>
        <asp:Repeater ID="listalinks" runat="server">
            <ItemTemplate>
                <li>
                <asp:HyperLink ID="link" runat="server"
                    NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "URLLink")%>' 
                    Text='<%# DataBinder.Eval(Container.DataItem, "URLTexto")%>'  
                    ></asp:HyperLink>
                    </li>
            </ItemTemplate>
        </asp:Repeater>
    </ul>


-Y en el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 
        If Not (Me.IsPostBack) Then
 
            Dim oDT As New DataTable
            oDT.Columns.Add("URLTexto")
            oDT.Columns.Add("URLLink")
 
            oDT.Rows.Add(New Object() {"google", "http://www.google.com"})
            oDT.Rows.Add(New Object() {"terra", "http://www.terra.es"})
            oDT.Rows.Add(New Object() {"msn", "http://www.msn.com"})
 
            Me.listalinks.DataSource = oDT
            Me.listalinks.DataBind()
 
        End If
 
    End Sub


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear enlaces dinamicos en aspx desde codigo

Publicado por ConGanasDeAprender (2 intervenciones) el 12/11/2011 17:00:35
Muchisimas gracias. Tu aportación ha sido de gran ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar