Cómo obtener el tipo de un objeto con TypeOf

Estoy trabajando con un DataList y dentro de su ItemTemplate tengo lo siguiente:

ASP:
  1. <asp:Image ID="Image1" runat="server" ImageUrl='<%# Funciones.DameURLImagen(Eval("Imagen")) %>' />

La función DameURLImagen debe revisar el parámetro que se le manda. Si es de tipo DBNull quiere decir que ese campo es nulo en la base de datos, así que debe mostrar una imagen genérica. Si es un String, entonces debe verificar si está vacío o no. Si lo está, se debe mostrar nuevamente la imagen genérica. Si no lo está se debe mostrar la imagen extraída de la base de datos.

Este chequeo de tipo se hace mediante TypeOf.

Aquí está nuestra función DameURLImagen:

VB.NET:
  1. Shared Function DameURLImagen(ByVal Imagen As Object) As String
  2.     If IsDBNull(Imagen) Then
  3.         DameURLImagen = "~/Images/NoHayImagen.jpg"
  4.     Else
  5.         If TypeOf (Imagen) Is String Then
  6.             If Imagen = "" Then
  7.                 DameURLImagen = "~/Images/NoHayImagen.jpg"
  8.             Else
  9.                 DameURLImagen = "~/Images/" & Imagen
  10.             End If
  11.         Else
  12.             DameURLImagen = "~/Images/NoHayImagen.jpg"
  13.         End If
  14.     End If
  15. End Function

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.