Web Parts con Java Script

Anteriormente hemos comentado acerca del uso de recursos por parte de un web part, en este post haremos un ejemplo utilizando un script de Java como recurso.

Haremos un botón HTML, agregaremos el evento onclick y este ejecutara la función hola, localizada en el archivo MiScript.js dentro de wpresources.

1.-Abrimos VS2008 y creamos un nuevo proyecto SharePoint, con plantilla web part, colocamos el nombre, ruta y finalmente que se quede en el GAC.
2.-Hacemos Deploy a la solución para generar el .dll en el GAC.
3.- Obtener los datos del .dll y crear los directorios de recursos dentro de wpresources.
4.- Dentro del directorio de recursos del web part, creamos un archivo “MiScript.js” con el siguiente código:

function hola()
{
       alert("Hola JavaScript");
}

5.- Guardar y salir.
6.- En el proyecto VS2008, dentro del costructor, colocamos la llamada al evento Pre_Render:

this.PreRender += new EventHandler(JSWebPart_PreRender);

7.- Una vez creado el metodo Pre_Render:

  • Obtener la ruta de los recursos:
SPWeb currentWeb = SPControl.GetContextWeb(Context);
Type currentType = GetType();
recursos = SPWebPartManager.GetClassResourcePath(currentWeb, currentType);
JSlocation = recursos+"/";
  • Registrar al script
//nombre del script
private const string JSFileName = "MiScript.js";
//nombre de la llave
private const string JSIncludeScriptKey = "miIncludeScript";
//Encabezado del script
private const string IncludeScriptFormat = @"<script language=""{0}"" src=""{1}{2}""></script>";
void JSWebPart_PreRender(object sender, EventArgs e)
{
       ClientScriptManager clientScript = Page.ClientScript;
       // Asegurarse que el script no este cargado ya en la pagina.
       if (!clientScript.IsClientScriptBlockRegistered(JSIncludeScriptKey))
       {
            // Crear el bloque cliente para el script.
            string includeScript = String.Format(IncludeScriptFormat, "javascript", JSlocation,
            JSFileName);
            //Registrar el script en la pagina
            clientScript.RegisterClientScriptBlock(typeof(Page), JSIncludeScriptKey, includeScript);
       }
}

Luego de esto, creamos el Botón en el método Render, con el evento onclick que llama a la función hola.

protected override void Render(HtmlTextWriter writer)
{
       string html = "";
       html += "<input value=\"Hola JavaScript\" type=\"button\" onclick=\"hola();\">";
       writer.Write(html);
}

8.- Hacemos Deploy a la solución.
9.- Agregar el web part al sitio.

Web Part Java Script
Web Part Java Script

Gracias

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s