Como crear un WebPart en Sharepoint May 26, 2009
Posted by dariofederico in .NET.Tags: moss, sharepoint, wss
trackback
Buenas!! Como sabran estamos utilizando sharepoint y estamos en plena practica. Aca les muestro un mini tutorial de como agregar un web part en un proyecto del tipo sharpoint.
En nuestro caso lo que hicimos fue crear un proyecto del tipo web y ahi añadimos un user control.
Dentro del proyecto de sharepoint añadimos un web part con el nombre del user control ( ej: UserControlWebPart). En la carpeta del web part creado apareceran 3 archivos: UserControlWebPart.cs, UserControlWebPart.webpart y UserControlWebPart.xml.En el UserControlWebPart.cs debemos escribir la lógica para cargar el control
Una vez creado el web part debemos proceder a añadir un template en el proyecto sharepoint, el cual tendra un link al UserControl creado en el proyecto web. Para ello añadimos un template. Dentro de la carpeta template creamos el link añadiendo un archivo existente, elegimos el user control creado y en la opcion de agregar tenemos que elegir “Add As link”.
Una vez realizado estos pasos nos queda por definir que cargue el control en el UserControlWebPart.cs. Para ello debemos poner la siguiente linea de codigo:
protected override void CreateChildControls()
{
base.CreateChildControls();
try
{
//Loads a user control
UserControl userControl= (UserControl)Page.LoadControl(“~/_controltemplates/UserControl.ascx”);
this.Controls.Add(userControl);
}
catch (HttpException ex)
{
this.Controls.Add(new LiteralControl(“<br />An unexpected error occurred loading Web Part. ” + ex.Message));
}
}
Con esto ya tenemos cargado el control.
Si realizamos todos los pasos correctamente si ningun error, cuando ejecutemos deploy y levante el sharpoint, dentro de la aplicacion deberiamos entrar a los WebPart y elegir el control generado, el cual aparecera con un aviso de new! al lado (UserControlWebPart new!). Accedemos al web part y podremos ver la visualizacion del control que fue creado.
{
base.CreateChildControls();
try
{
//Loads a user control
DetalleOferta detalleOferta = (DetalleOferta)Page.LoadControl(“~/_controltemplates/Ofertas/DetalleOferta.ascx”);
detalleOferta.Web = SPContext.Current.Web;
this.Controls.Add(detalleOferta);
}
catch (HttpException ex)
{
this.Controls.Add(new LiteralControl(“<br />An unexpected error occurred loading Web Part. ” + ex.Message));
}
Comments»
No comments yet — be the first.