Foros del Web » Programación para mayores de 30 ;) » .NET »

Llamar una funcion desde el Datalist

Estas en el tema de Llamar una funcion desde el Datalist en el foro de .NET en Foros del Web. Hola Estoy empezando con esto del .Net y me he atrancado .. Resulta que en un DataList estoy recibiendo los datos con <%#Container.DataItem("Campo")%>, Funciona bien ...
  #1 (permalink)  
Antiguo 23/01/2005, 12:46
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 22 años, 5 meses
Puntos: 0
Pregunta Llamar una funcion desde el Datalist

Hola
Estoy empezando con esto del .Net y me he atrancado ..

Resulta que en un DataList estoy recibiendo los datos con <%#Container.DataItem("Campo")%>, Funciona bien menos la imagen que quiero mostrar.
El nombre de la imagen lo tengo que obtener del codigo de un articulo añadiendole .jpg, para eso quiero utilizar una funcion:

....
<ItemTemplate>
<table border="0">
<tr>
<td><img src="<%#imagenes()%>" width="100"></td>
<td><%# Container.DataItem("Codigo")%></td>
</tr>
<tr>
<td colspan="2"><%# Container.DataItem("Nombre")%></td>
</tr>
</table>
</ItemTemplate>
..............



y esta la funcion
Function imagenes() As String
Dim Imagen As String
imagen = "Imagenes/<%#Container.DataItem('codigo')%>.jpg"

If Not File.Exists(imagen) Then
imagen="Imagenes/sinfoto.jpg"
End If

Return imagen

End Function


___________________

Lo que ocurre es que nunca me muestra la imagen aunque exista, siempre me muestra sinfoto.jpg, supongo que lo que no se podrá hacer es el Container.DataItem dentro de la funcion no?

Agradeceria ayuda.

Juan
  #2 (permalink)  
Antiguo 24/01/2005, 13:17
Avatar de cableh  
Fecha de Ingreso: diciembre-2004
Mensajes: 54
Antigüedad: 19 años, 5 meses
Puntos: 0
Prueba mandándole como parámetro el código a la función.

Quedaría algo así:

<asp:Image id="Image1" runat="server" ImageUrl='<%# Imagenes(Container.DataItem("codigo")) %>' ></asp:Image>

y en la función en vb le añades el parámetro y lo concatenas con la ruta completa.
  #3 (permalink)  
Antiguo 25/01/2005, 09:52
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 3 meses
Puntos: 50
Yo lo haría mas bien así:

Cita:
<ItemTemplate>
<table border="0">
<tr>
<td>
<img src="<%# imagenes(Container.DataItem("Codigo"))%>" width="100"></td>
<td><%# Container.DataItem("Codigo")%></td>
</tr>
<tr>
<td colspan="2"><%# Container.DataItem("Nombre")%></td>
</tr>
</table>
</ItemTemplate>
Y mi funcion quedaría:

Cita:
Protected Function imagenes (sCode as String)
Dim Imagen As String
imagen = "Imagenes/" & sCode & ".jpg"

If Not File.Exists(imagen) Then
imagen="Imagenes/sinfoto.jpg"
End If

Return imagen

End Function
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 25/01/2005, 16:13
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 22 años, 5 meses
Puntos: 0
Hola,

He probado de las dos maneras que me decir, y la respuesta es la misma. Siempre lee la imagen vacia, por lo que deduzco que el problema puede estar en este trozo de codigo:

If Not File.Exists(imagen) Then
imagen="Imagenes/sinfoto.jpg"
End If

que siempre asume que No existe el fichero.

que pensais vosotros?

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:55.