2011/04/13

User Control y Javascript en UpdatePanel

Cuando queremos utilizar script de javascript (server side) desde un user control que esta dentro de un update panel, podemos tener el problema de que el javascript no llegue al navegador hasta que se haga el postback lo que limita su uso en llamados asincronicos (AJAX), para solucionar esto disponemos de la clase ScripManager.

Veamos un ejemplo para ver su utilización:
Generalmente para mostrar un alert utilizamos el siguiente código:


Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "key", "alert('hola');", true);


Bueno, este código no funciona en un user control que este dentro de un update panel, para que esto funcione debemos reemplazar el código por la siguiente linea, que hace uso de la clase ScriptManager:


ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "key", "alert('hola');", true);
Ahora el script funciona ok, espero que les sirva.

2011/04/04

Reset columnas autonumericas en SQL Server

El comando para hacer esto es:

DBCC CHECKIDENT (, RESEED, 1)

2011/02/21

Web Camp - Microsoft


Se viene el web camp de Microsoft a Buenos Aires, el evento será el 15 y 16 de marzo de 2011 (http://webcamps.ms/upcoming-web-camps.aspx)

Viene Phil Haack, uno de los desarrolladores más conocidos de Microsoft, presentarán las nuevas herramientas para desarrollo web basadas en MVC 3, un evento mas que interesante para todos los desarrolladores...

2010/11/27

CHM Viewer

Por razones que desconozco se me rompio el visor de .CHM (archivos de ayuda) de Windows.
Por eso, en lugar de buscar soluciones o reparaciones del mismo decidí buscar un nuevo programa que lo reemplace.

Fue ahí cuando me tope con KchmViewer  (http://www.kchmviewer.net/) un visor de archivos .chm (WinHelp) basado en C++/Qt que ademas es multiplataforma y opensource.

Por lo pronto mi experiencia con el mismo es excelente, no tuve ningun inconveniente al instalarlo y usarlo sobre Windows 7 y puede navegar los archivos de ayuda lo mas bien, muestra los links e imagenes de manera normal tambien.

Así que ya saben cuando quieran un visor de archivos de ayuda .chm recomiendo KchmViewer, el link de descarga es el siguiente: http://sourceforge.net/projects/kchmviewer/files/

2010/09/30

Nuevo Chrome Canario

Esta nueva edición de Chrome es especial para GEEKs, ya que es la versión mas adelantada del navegador Chrome, con funciones especiales habilitadas que no poseen los usuarios de Chrome Comunes.

La url de descarga es la siguiente: http://tools.google.com/dlpage/chromesxs

Es importante destacar que la instalación de Google Canary Build, es una instalación independiente pudiendo conservar al mismo tiempo la instalación de Google Chrome anterior.

Una vez descargado propongo probar los siguientes ejemplos de la tecnología WebGL:
https://sites.google.com/a/chromium.org/dev/developers/demos-gpu-acceleration-and-webgl

Siendo mis dos preferidos:
-El Acuario (http://webglsamples.googlecode.com/hg/aquarium/aquarium.html)
-La pared de imágenes (http://cooliris-wall.appspot.com/)

Pruebenlo, y me cuentan...

2010/09/05

Validacion en UserControls

Los UserControls nos permiten encapsular cierto funcionamiento de manera que pueda o no interferir con el funcionamiento global de la pagina que lo contiene.

Hay situaciones en las que deseamos que el funcionamiento sea completamente independiente, en estos casos queremos que también la validación (a través de RequiredFieldValidator, RangeValidator, ValidationSummary, etc) sea independiente.

Para estos casos necesitamos hacer uso de una propiedad que poseen los controles llamada: ValidationGroup
De esta forma lo que haremos en encapsular la validacion de un UserControl con un codigo unico para que no modifique el funcionamiento habitual de la pagina, por ejemplo, un boton de la pagina contenedora no se verá afectada por los campos requeridos de nuestro UserControl.

Una manera de asegurarnos que el codigo del grupo de validacion sea unico es agregar una propiedad interna a nuestro UserControl:

protected string UniqueValidationGroup { get { return this.ClientID + "MyValidationGroup"; } }


Y luego desde el código usarla para setiar el ValidationGroup, en cada control que lo necesite los cuales serán tipicamente los controles de validación (RequiredFieldValidator, RangeValidator, ValidationSummary, etc) asi como tambien los botones que deberian causar esas validaciones dentro de nuestro UserControl.

ValidationGroup='<%# UniqueValidationGroup %>'

2010/09/01

Globalization en ASP.NET

La globalizacion nos permite que un sitio tenga una cultura definida y que no dependa de la cultura del browser del cliente.

Para fijar la cultura debemos poner lo siguiente en el web.config
<globalization uiCulture="es" culture="es-AR" />

El mismo va colocado dentro del tag:
<system.web>
    ...

En este caso estamos setiando el idioma Español y la cultura de Argentina.