Base Page con jquery, script.aculo.us, motools, etc

Un requisito para tener una excelente web 2.0 es el framework javascript que uno elije, mi favorito es jquery, pero también hay otros igual de buenos como script.aculo.us, mootols. Agregarlos a todas las páginas del sitio aun cuando no se usan en todas es un mal uso de los recursos y de performance. De eso se trata este post, como usar los framework sólo donde se necesitan.

Cuando uno trabaja con Master Page y solo algunas de las paginas usan un framework. Debemos agregar al header programando una por una, algo que cualquier programador odia. Mi solución (después de programar mucho) fue crear una base page para cada framework.

Para los que no sepan una Base Page es simplemente una clase que hereda la clase System.Web.UI.Page a la cual le modificamos los eventos como por ejemplo OnLoad con nuestro código. Todas las demás paginas que hereden de esta clase  ejecutaran ese código y luego continuaran con su código propio. Algo así:

 
 
    public class MiBasePage : System.Web.UI.Page
        {
            protected override void OnLoad(EventArgs e)
            {
                // Código General
                base.OnLoad(e);
            }
        }
 
    public partial class MiPagina : MiBasePage
        {
            protected void Page_Load(object sender, EventArgs e)
            {
              //Código particular de la pagina
            }
        }

Ahora tenemos que agregar en el header de nuestra paginas la etiqueta <script>, para eso se utiliza la clase HtmlGenericControl con etiqueta "script", el atributos "type" con valor "text/javascript" y el atributo "src" con la dirección del framework, este ultimo atributo puede cambiar y adaptarse al framework que vamos a usar. Aquí hay un ejemplo:

HtmlGenericControl jquery = new HtmlGenericControl("script");
jquery .Attributes.Add("type", "text/javascript");
jquery .Attributes.Add("src", "jquery/jquery.js");
this.Page.Header.Controls.Add(jquery );

Tomando el código previo lo agregamos dentro del evento Onload antes del "base.Onload(e)" y todas las paginas que hereden esta clase compartiran este funcionamiento.

Un tip: podemos tener distintas base page con diferentes framework y usar el que necesitamos eligiendo la base page de cada framework, asi una pagina hecha en mootols otra en jquery. etc.

Yo les dejo un link para que bajen la clase que yo uso y vean si les sirve.

Un abrazo

1 Comment

  • hola como estas, quiero contraer y expandir con scriptaculous pero al aplicarlos me inhabilita los ultimos comentarios y las entradas recientes
    no se como hacer para solucionar el problema
    me das una mano ?
    saludos
    mackie

Comments have been disabled for this content.