JASoft.org

Permitir la validación de un control con los validadores estándar de ASP.NET

Permitir la validación de un control con los validadores estándar de ASP.NET
Tal y como prometí en un anterior post, voy a explicar cómo podemos conseguir que un control sea utilizable directamente por los controles de validación estándar que vienen con ASP.NET. Ciertos controles Web (por ejemplo el control Calendar) no permiten su uso combinado con los controles de validación (estilo RequiredFieldValidator, RangeValidator, etc...), lo cual es una lástima porque para poder validar su contenido tenemos que construir nuestro propio control de validación (en fin...) o bien usar eventos de servidor para poder validarlos. Una de las ventajas de los controles de validación de ASP.NET es que ya realizan una validación en el cliente además de la que se hace en el servidor después, lo que ahorra tiempo y agiliza mucho la interfaz. Además están integrados en la validación de la página y permiten comprobar la propiedad IsValid de ésta antes de continuar con suprocesamiento, algo muy útil también. Por otro lado es muy habitual combinar diversos controles Web con una prop... [Más]

Búsquedas directas desde la barra de IE

Búsquedas directas desde la barra de IE
Si sigues normalmente este blog recordarás que hace unos días expliqué como integrar tu buscador o índice con las búsquedas de Open Search y también con la barra de búsquedas de Internet Explorer 7. Para ello se usaba el estándar Open search. En aquella ocasión comenté que existía la posibilidad de hacer que IE realizara búsquedas en nuestro buscador directamente desde la barra de direcciones. Vamos a explicar ahora como conseguirlo... La idea es que teclees por ejemplo (en el caso de nuestro buscador www.pandeo.com): PANDEO empresa arquitectura y que realice automáticamente la búsqueda de esos dos términos en el buscador Pandeo.com. Para conseguirlo lo único que necesitamos es introducir una clave en el registro. Ejecuta regedit.exe para editar el registro y vete a la rama: HKCU\Software\Microsoft\Internet Explorer\SearchURL En ella deberás crear un nuevo nodo (clave) con el nombre del comando que quieres usar, en este caso PANDEO. En el valor por defecto de este nodo debes i... [Más]

¿Tienes un buscador en tu portal? Esto te puede interesar...

¿Tienes un buscador en tu portal? Esto te puede interesar...
Hace unos días me pregunté por curiosidad cómo se podría añadir un determinado buscador a la nueva barra de búsqueda de Internet Explorer 7. Sí, esa que le han copiado descaradamente a Firefox (con la que estos chicos Open Source ganan más de 80 millones de dólares al año) y que, realmente, no sirve de mucho pues puedes hacer las búsquedas igual desde la propia línea de direcciones. El caso es que me llamaba la atención puesto que, si te fijas, puedes hacer que aparezca más de un buscador en ella, aparte del que trae por  defecto (Live Search). En Krasis hace unos años creamos un índice/buscador especializado en ingeniería llamado Pandeo.com cuyo nombre hace honor a un efecto de resistencia de materiales por el que las columnas esbeltas sometidas a compresión pueden llegar, curiosamente, a estar sometidas a flexión y combarse. Pandeo.com Se trata más de una prueba de concepto y un proyecto de I+D interno que de un producto propiamente dicho, aunque sí que lo hemos licenciad... [Más]

Componentes duales para Windows y la Web

Componentes duales para Windows y la Web
¿Cómo puedo construir un componente o una biblioteca de clases que me sirva indistintamente para Windows Forms y para ASP.NET si debo usar características específicas de cada entorno? Expresado con otras palabras: ¿Cómo puedo saber si mi componente está siendo usado desde una aplicación de Windows Forms o de ASP.NET? Respuesta: verifica el valor de HttpContext.Current. Si es null (Nothing en VB) es que estás en un entorno no-web, y estarás bajo ASP.NET en caso contrario. Es un truco sencillo pero que a alguno puede que le resulte útil si se lo había planteado para algún componente propio.

Estadísticas de consultas SQL Server desde ADO.NET 2.0

Estadísticas de consultas SQL Server desde ADO.NET 2.0
La clase SqlConnection de ADO.NET 2.0 posee una característica que puede resultar de utilidad en cuertas ocasiones y que permite obtener información estadística sobre las consultas realizadas, de manera muy similar a la que ofrece el Analizador de consultas de SQL Server 2000 o el Management Studio de SQL Server 2005 (si bien no son las mismas). Esta característica es muy fácil de gestionar gracias a la propiedad StatisticsEnabled de la clase SqlConnection, que sirve como es obvio para habilitar la recogida de estadísticas de las consultas lanzadas a través del objeto SqlConnection instanciado para la ocasión. Una vez habilitadas las estadísticas se obtienen mediante el método RetrieveStatistics de la misma clase. Éste devuelve un objeto que implementa la interfaz IDictionary, aunque en realidad un poco de reflexión revela que realmente lo que se obtiene es un HashTable, así que es muy fácil de manejar (ahora lo veremos). El método UpdateStatistics las actualiza al momento actual.... [Más]

El operador doble interrogación en C#

El operador doble interrogación en C#
Los tipos anulables en .NET 2.0 son una interesante característica a la que se le puede sacar bastante partido, como ya expliqué en su momento. Quiero comentar ahora una cosa que se me pasó entonces: el operador doble interrogante (??), el cual es además muy poco conocido. Dado que los tipos anulables pueden contener un valor o un nulo debemos realizar continuamente comprobaciones en el código para ver si tenemos nulos o no, algo así (ej.): int? num1 = 5; //En la realidad lo obtendríamos de una BD o algo asíint num2;if (num1 == null)   num2 = 0;else   num2 = num1; Lo cual es sencillo pero es un rollo de escribir si hay que hacerlo continuamente. Claro que podemos reducir el código usando el operador ? de toda la vida de C#: int? num1 = 5;int num2 = (num1==null)?0:num1; Es idéntico, más reducido, pero tampoco es mejore mucho la legibilidad ¿verdad? Bien, C# nos ofrece el operador ?? que hace exactamente lo mismo que lo anterior y tiene las virtudes de ser ... [Más]

Cambio del directorio de compilación temporal de ASP.NET

Cambio del directorio de compilación temporal de ASP.NET
He leído esto en algún sitio recientemente y me ha llamado mucho la atención porque no lo sabía. Resulta que es posible cambiar la carpeta en la que ASP.NET 2.0 compila las aplicaciones y genera todos sus ensamblados. Para ello basta con indicarlo en web.config dentro del nodo 'compilation' usando el atributo 'tempDirectory', así: <compilation tempDirectory="C:\Temporales"/> Muy sencillo. Igual te puede resultar útil en alguna ocasión.

Cómo mezclar varios lenguajes de programación en una aplicación ASP.NET 2.0

Cómo mezclar varios lenguajes de programación en una aplicación ASP.NET 2.0
Una de las cosas más reseñadas de ASP.NET 2.0 es que es capaz de gestionar páginas ASPX creadas en diferentes lenguajes todas al mismo tiempo. Es decir, puedes tener una página o un control escritos en C# y mezclarlos con otros escritos en VB.NET o J# sin problema. Incluso puedes depurarlos todos juntos desde Visual Studio, saltando sin problemas de un lenguaje a otro. Ahora bien, desde mi punto de vista esto no es demasiado interesante. Es raro que reutilices una página de una aplicación a otra y si escribes una aplicación completa desde cero normalmente lo haces en el mismo lenguaje. Hombre, pensando en equipos de desarrollo donde varios programadores contribuyen al mismo proyecto y trabajan en lenguajes distintos es muy interesante, pero vamos... Normalmente lo que compartes entre aplicaciones son controles o bibliotecas de funciones, las cuales normalmente deberías compilar en sus propios ensamblados y listo. Ya no tendrías que mezclar lenguajes ahí. Otra posibilidad es que teng... [Más]

Una manera mejor de persistir el ViewState

Una manera mejor de persistir el ViewState
Siguiendo a mi post anterior, vamos a ver una técnica alternativa para conseguir la persistencia del ViewState en sesión. La anterior técnica, nativa de ASP.NET 2.0 adolecía de varios problemillas, los más importantes son: 1.- No eliminaba del todo el ViewState, sólo una parte del mismo. En formularios Web con muchos controles el tamaño del ViewState sigue siendo considerable, si bien se reduce bastante. 2.- Sólo funciona en ASP.NET 2.0, pero no en versiones anteriores. Voy a explicar a continuación una técnica alternativa que elimina estos problemas y tiene algunas ventajas a mayores. Para conseguir manejar a nuestro antojo el ViewState podemos sobrescribir dos métodos importantes de la página: SavePageStateToPersistenceMedium y LoadPageStateFromPersistenceMedium. Como se deduce de su propio nombre estos métodos se llaman automáticamente por la infraestructura de páginas A... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico