WebPart con JavaScript SharePoint 2010

Hace algún tiempo tuve que buscar la manera que un código JavaScript corriera dentro de una WebPart desarrollada para SharePoint 2010, después de buscar diferentes ejemplos que funcionaban a medias o solo eran un enredo completo, pude encontrar algunos elementos que me ayudaron. Todo paró ahí y ese código quedó archivado, es lo que normalmente la mayoría de nosotros hacemos, y nunca pensamos que podría ser de ayuda para otros.

Un amigo me llamó pregúntandome sobre algo similar, esto me obligó a desempolvar este código (por lo menos no lo había desechado) y eso me motivó a escribir el presente blog que espero sea de ayuda para otros:

El ejemplo es sencillo, pero permite correr un código JavaScript al hacer clic sobre un botón asp.net

Todo  inicia en VisualStudio 2010, se crea un nuevo proyecto de SharePoint 2010 seleccionando la opción Elemeto Web Visual (Visual WebPart), y a la ventana que nos aparece le agregamos la dirección de nuestro sitio (esto lo trataremos en otro post sobre crear nuestra primera WebPart).

Lo que hacemos acá se puede definir en dos partes, la primera la trabajamos en el evento Load de la página, comprobando si es la primera vez que se carga la página utilizando if(!Page.IsPostBack). Si la página no ha sido refrescada llamamos al evento PreRender para ejecutar el código JavaScript que se desea, al mismo tiempo defino la dirección de la página que vamos a abrir dentro dentro del PopUp modal y establecemos el comportamiento del botón cuando el usuario hace clic sobre éste, agregándole un return false para evitar que al hacer clic
se produzca una recarga de página: this.btnBoton.OnClientClick = @”OpenDialog(‘” +sTargetuRl +”‘); return false;”;.

En la ejecución del evento del PreRender primero se establece el nombre de registro para el bloque de script y para que éste se ejecute: if (!Page.ClientScript.IsClientScriptBlockRegistered(“RunScript”)), se crea un StringBuilder con el fin de cargar nuestro código javascript a través de un ClientScript: Page.ClientScript.RegisterClientScriptBlock(this.GetType(), “RunScript”, sbScript.ToString()); y listo, lo que nos queda es implementar la webpart sobre SharePoint y probarlo.

Las referencias utilizadas son:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Text;

El código completo es el siguiente:

Anuncios
    • Daniela Ambrocio
    • 13/12/11

    Hola Miguel,

    Un gusto saludarte, me contacto contigo del Programa de Reconocimiento Microsoft MVP. Me encanta ver que por tu medio de tu blog es que compartes excelentes contenidos referentes a las tecnologías Microsoft y es por esto que me encantaría estuvieramos en contacto y poderte compartir información que estoy segura puede interesarte.

    Recibe un cordial saludo, excelente día.

  1. No trackbacks yet.

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

A %d blogueros les gusta esto: