La sentencia Server.Execute en ASP

 

Muchos de vosotros programaréis utilizando ASP, este lenguaje de programación propiedad de Microsoft se ha difundido muchísimo en los últimos años (sin despreciar al PHP y semejantes).

Es cierto que hay mil maneras de abarcar un proyecto grande, pero algunas pueden ser mucho más tediosas de programar que otras convirtiéndose en una tarea imposible cuando las líneas de código superan las 10 páginas. Esto es debido a que muchos programadores utilizan tan solo el sistema de inclusiones de ASP, olvidándose que existen sentencias capaces de ejecutar webs dentro de otras.

Esta sentencia en concreto se llama Server.Execute y la podemos aprovechar en toda su plenitud, expliquemos un poco más que utilidades tiene:

Imaginemos que debemos crear un panel de control y que queremos que todo se base en una única página Web llamada "index.asp", podría ser imposible si intentásemos realizar todas las funciones con Select Case, pero la cosa cambia si separamos los fragmentos de código en diferentes páginas Web. La estructura lógica quedaría así:

Index.asp
/modulos/listado.asp
/modulos/comandos.asp
/modulos/imagenes.asp

¿Cómo controlamos que módulo lanzar?

Es sencillo, lo único que debemos hacer es pasar mediante una variable el nombre del módulo a ejecutar en el cuerpo, y en medio de la página "index.asp" intercalar esta línea de código:

¿Has visto que sencillo?, y lo más importante, todas las páginas llamadas mediante Server.Execute heredan las inclusiones de la página madre, es decir, si en "index.asp" hacemos una inclusión de algún fichero, este código también estará disponible en la página ejecutada.

Como siempre, aquí os damos un mero ejemplo de lo que podéis hacer con la sentencia, ahora os toca exprimiros el coco para ver como lo podéis mejorar. Porque imagina que pasaría si algún desalmado cambiase el nombre de la variable pasada mediante GET, sí, fallaría la sentencia.

Un saludo.