martes, 30 de junio de 2009

JavaScript IntelliSense en Controles de Usuario (.ascx)

Vamos a describir un truco que puedes utilizar cuando quieres tener JavaScript IntelliSense en un control de usuario (.ascx).

A menudo, al trabajar con controles de usuario, no se desea incluir bibliotecas JavaScript dentro del control, mas bien las colocamos en las páginas que contienen a estos controles. El problema, por supuesto, es que al hacerlo VS no tiene manera de saber que el control en el que trabajamos si tiene acceso a la biblioteca a través de la pagina donde esta contenido, y por ende no se proporciona IntelliSense JavaScript.

Una forma con la que podemos habilitar esto es mediante la adición del elemento al control de usuario, pero rodeándolo con un bloque del lado del servidor, el cual siempre se evalúa a falso en tiempo de ejecución:

<% if (false) { %> <script src="../Scripts/jquery-1.3.2.js" type="text/javascript"> </script> <% } %>
En tiempo de ejecución
ASP.NET nunca procesa esta secuencia (ya que se envuelve en un bloque que siempre es falso). Sin embargo, VS evaluará la sentencia

sábado, 27 de junio de 2009

Error 'CompositeScript' en 'System.Web.UI.ScriptManager'

Hoy aprovecho para comentar algo que me ocurrió y que expongo aquí por si alguien tropieza con la misma piedra, que al menos tenga algo donde buscar.
El echo es que en días pasados al publicar uno de los sitios Web en el servidor de producción, resulta que al intentar abrir una de las páginas publicadas me salió el siguiente error:
El tipo 'System.Web.UI.ScriptManager' no tiene ninguna propiedad pública cuyo nombre sea 'CompositeScript'.
Pues bien la causa del error es que estaba usando la propiedad ScriptManager.CompositeScript para bajar script compuestos o combinados.
Solución:
Para solucionarlo bastó con descargarme e instalar en el servidor de producción el Microsoft .NET Framework 3.5 Service Pack 1. Después de instalado el SP todo funcionó a la perfección.
Salu2 y mucha suerte,
Derbis

miércoles, 17 de junio de 2009

Error HTTP 500.19 - Internal Server Error

Recientemente instalé Windows 7 en mi ordenador, y al hospedar en Internet Information Services 7.5 (localhost) las aplicaciones Web que estoy desarrollando, al intentar examinarlas me tope con el siguiente error:

Error HTTP 500.19 - Internal Server Error

No se puede obtener acceso a la página solicitada porque los datos de configuración relacionados de la página no son válidos.

Error Http 500.19

Solución al Error 500.19

El propio IIS te hace algunas sugerencias, las cuales no me ayudaron en lo mas mínimo, en fin que la solución encontrada fue la siguiente:

  1. Abrir el Panel de Control, Programas, Activar o desactivar las características de Windows.
  2. Aparecerá una ventana con todas las características de Windows; deberemos buscar  la casilla Internet Information Services, y verificar que las siguientes opciones estén seleccionadas:

Error Http 500.19, Caracteristicas IIS 

Las características resaltadas en amarillo son las que debemos tener marcadas, pero algunas de ellas ya vienen activadas por defecto; por lo general solo tendremos que marcar las que tenemos resaltadas en rojo.

Después de seleccionadas presionamos el botón aceptar y todo listo.

Suerte con IIS 7

martes, 9 de junio de 2009

Pasar XSD a Clase

Esta herramienta (Xsd.exe) genera clases a partir de archivos XDR, XML y XSD.
Es decir a partir de un XSD o XML podemos obtener de forma automatica el .CS/.VB correspondiente a la clase.
Esta herramienta se incluye con VS 2005/2008 y podemos generar la clase de 2 formas, o bien mediante línea de comando o bien registrandola como herramienta externa. En este articulo veremos como registrar la Herramienta Definición de Esquemas XML (Xsd.exe).
Para ello estando en VS, nos dirigimos al menu Herramientas - Herramientas Externas....
Agregamos una nueva entrada a la cual le pondremos de titulo "Pasar de XSD a clase" y relleneramos los demas datos de igual forma que muestra la figura.
Despues de esto ya esta configurada la nueva herramienta externa y bastará con abir en VS el fichero XSD y ejecutar esta herramienta, al hacerlo generaremos de manera automatica una clase asociada al esquema que se guardara por defecto en la misma ubicacion del fichero XSD.
Y ya esta... así de facil...