C# Modifiers

Criar um WUC utilizando Web Parts

1 - Abrir novo projeto WEB no VisualStudio 2005 (utilizar C# ou VB.NET)



2 - Com o novo projeto criado, adicionar referência para uma DLL (veja tela abaixo)



- sem essa referência não vai funcionar!!!


3 - Criar o arquivo .ASCX desejado (exemplo: XPCadastro.ascx)
Esse arquivo .ASCX deverá conter obrigatoriamente os seguintes itens (veja tela abaixo):



- (itens visíveis somente no modo Source)


4 - No code-behind o namespace deverá ser = SharepointXPCadastro

5 - Ainda no code-behind o class XPCadastro será “filho” de System.Web.UI.UserControl



6 - Durante o processo de compilação do ASCX no VisualStudio 2005 deverá ser habilitado o Strong Name Key (veja tela abaixo):



7 - Clicar com botão direito no projeto e selecionar Properties
Após o código pronto e layout, o arquivo ASCX criado deverá ser publicado na seguinte pasta (default):

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\CONTROLTEMPLATES\


A DLL gerada pelo ASCX [XPCadastro.dll] deverá ser registrada.

- Para registrar é necessário somente copiar a DLL para pasta:

C:\Inetpub\wwwroot\wss\VirtualDirectories\443\bin\

- Depois arrastar e soltar na pasta:

C:\Windows\Assembly\


8 - Uma vez DLL e ASCX devidamente copiados e registrados, vamos ao Sharepoint!

Abra o portal que deseja publicar o ASCX dentro do Web Part:

Exemplo: http://teste:443/



9 - Clique em Site Actions



10 - Selecione a opção: Edit Page



- clique em Add a Web Part em qualquer Web Part existente

11 - Selecione UserControlContainer e clique em Add



O novo Web Part será adicionado (veja tela abaixo):


Depois basta clicar em: open the tool pane e preencher os campos assinalados (veja tela abaixo).



- Outras propriedades podem ser alteradas, mas basicamente o nome do .ASCX e o Title devem ser configurados:
Exemplo User Control (.ascx):

~/_CONTROLTEMPLATES/XPCadastro.ascx

Uma vez todos os passos seguidos... tela abaixo deverá aparecer:


Clique em "Exit Edit Mode" (canto superior direito)

PRONTO !!!

Comments