Cómo evitar que la página haga scroll al inicio al oprimir un botón en asp.net

Al tener un formulario dentro de un control de usuario (.ascx), y éste a su vez dentro de una página asp.net (.aspx), puede ocurrir que los botones que se encuentran en la parte media o baja de la página, al ser cliqueados, mandan el scroll del navegador hasta arriba.

Por ejemplo, si tienes un formulario con un validador que está haciendo que el formulario no se pueda enviar, la página se irá al inicio de golpe y el usuario no podrá ver el mensaje de error, y no sabrá qué ocurrió.

Para evitar que esto ocurra, simplemente coloca este código javaScript dentro del tag “head”:

window.scrollTo = function () { }

Y listo, así se soluciona.

Cómo usar la herramienta de configuración de asp.net sin Visual Web Developer 2010

Cuando usaba Visual Web Developer 2010 tenía esta herramienta para crear usuarios y roles del membership:

Ahora bien, si ya te cambiaste a Visual Studio 2013 for Web, habrás notado que quitaron esta opción.

Si quieres correr la herramienta de configuración aún lo puedes hacer en dos pasos sencillos.

Primero, abre un command prompt (sin permisos de administrador) y teclea lo siguiente:

"C:\Program Files\IIS Express\iisexpress.exe" /path:c:\windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETWebAdminFiles /vpath:"/asp.netwebadminfiles" /port:8089 /clr:4.0 /ntlm

En caso de que no cuentes con IIS Express, lo puedes descargar de aquí.

No cierres la ventana oprimiendo la tecla ‘q’. Déjala abierta. Esto mantiene corriendo el servidor web al que te vas a conectar.

Ahora, abre un navegador y teclea lo siguiente:

http://localhost:8089/asp.netwebadminfiles/default.aspx?applicationPhysicalPath=[Ruta_Exacta_A_La_Aplicacion]\&applicationUrl=/

Por ejemplo, si tu aplicación está en c:\miapp, teclearías lo siguiente:

http://localhost:8089/asp.netwebadminfiles/default.aspx?applicationPhysicalPath=c:\miapp\&applicationUrl=/

Y listo, ya tienes acceso a la tan extrañada herramienta para crear rápidamente usuarios y roles.

Nota: Si te pide usuario y contraseña, es la misma con la que te logueas a tu PC o servidor.

Referencias:
http://blogs.msdn.com/b/webdev/archive/2013/08/19/asp-net-web-configuration-tool-missing-in-visual-studio-2013.aspx
http://stackoverflow.com/questions/20541680/visual-studio-2013-and-asp-net-web-configuration-tool/20555928#20555928

Cómo migrar los sitios web y app pools de IIS de un servidor a otro

Si quieres migrar la configuración de tus sitios web y pools de un servidor a otro utiliza este procedimiento.

Antes que nada, copia los archivos de tus sitios web de tu servidor original al nuevo.

Ahora abre un command prompt y ejecuta estos comandos en el servidor original (crea previamente la carpeta c:\migracion):

%windir%\system32\inetsrv\appcmd list apppool /config /xml > C:\migracion\apppools.xml

%windir%\system32\inetsrv\appcmd list site /config /xml > C:\migracion\sites.xml

Ahora abre estos archivos y quita las pools y los sitios web que no quieras copiar o sobreescribir en el servidor nuevo. Te recomiendo utilizar un editor de texto que reconozca los archivos XML para que puedas distinguir dónde empieza y termina cada elemento. Un buen editor es notepad++.

Ahora copia los dos archivos al nuevo servidor y ejecuta los comandos de restauración correspondientes. Aquí es importante el orden porque primero tienen que existir las pools para que los sitios se puedan crear.

%windir%\system32\inetsrv\appcmd add apppool /in < C:\migracion\apppools.xml 

%windir%\system32\inetsrv\appcmd add site /in < C:\migracion\sites.xml

Si te sale un error (a mí me salió el 80004005) es porque te al eliminar algún sitio o pool lo hiciste mal y desbalanceaste los tags de inicio y fin. Chécalo bien. Ahora cierra y abre tu IIS manager y ve cómo aparecen todos tus sitios y pools. 😀

Nota: Probado de un servidor IIS 8 a otro IIS 8. Fuente: Microsoft Pro

Usa la directiva #Region para organizar tu código

Cuando tienes una clase de VB.NET que se empieza a hacer muy larga, puedes organizarla en partes utilizando la directiva #Region. Si estás trabajando en Visual Studio puedes colapsar y extender estas porciones de código con un clic, lo cual te ayuda a enfocarte en la porción de código que estés utilizando en cada momento.

La sintaxis es la siguiente:

Region "Nombre de tu region"
   'Tu código aquí…
End Region

Te pongo unas imágenes para que veas cómo lo maneja Visual Studio:

Sin colapsar:

Visual Studio

Colapsado:

Visual Studio