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

4 comentarios:

  1. Una ves mas me convenso de los grandes males tienen simples soluciones, esto es algo q me estaba sucediendo y no se me ocurria darle una solucion tan simple, en fin ...

    ResponderEliminar
  2. Hola, me alegro que te halla servido de ayuda, esa es la idea de este espacio. Si tienes alguna otra consulta no dudes en escribirme.

    Salu2,
    Derbis

    ResponderEliminar
  3. Hola a todos,

    Tengo un problema al publicar mi sitio desde asp.net me tira el siguiente error:

    Error al actualizar JScript Intellisense C:\intranet\js\jquery-1.4.2.min.js: El objeto no acepta esta propiedad o metodo.

    Espero me puedan ayudar a solucionar mi problema.

    De antemano muchas gracias

    ResponderEliminar
  4. Hola a todos,

    Tengo un problema al publicar mi sitio desde VS2008 me tira el siguiente error:

    Error al actualizar JScript Intellisense C:\intranet\js\jquery-1.4.2.min.js: El objeto no acepta esta propiedad o metodo.

    Espero me puedan ayudar a solucionar mi problema.

    De antemano muchas gracias

    ResponderEliminar