Rodrigo Romano – MVP SharePoint Server

Registros de um Especialista SharePoint :)

Posts Tagged ‘Forms

TIP: Como mudar a url dos formulários de NEW, EDIT, DISPLAY de um Content Type do SharePoint 2010 programaticamente?

leave a comment »


 

Olá SharePointers,

Pensando em um erro que muitos SharePointers cometem, resolvi fazer esse post. Muitos pensam que, os formulários New, Edit e Display são relacionados a uma lista. E estão enganados.

Na verdade, esses formulários estão relacionados ao Content Type. Vejam que, ao criar uma tarefa utilizando a ação Collect Data do SharePoint designer, automaticamente os formulários são criados e associados ao Content Type relacionado.

Esclarecendo esses pontos, vamos ao que interessa.

Com o código abaixo, pegamos o Content Type ITEM e alteramos os formulários de New e Edit.

Code Snippet
  1. private void ChangeContentTypeUrl(string urlWeb, string listName, string urlFormNew, string urlFormEdit)
  2. {
  3.     using (SPSite site = new SPSite(urlWeb))
  4.     using (SPWeb web = site.OpenWeb())
  5.     {                
  6.         try
  7.         {
  8.             SPList list = web.Lists.TryGetList(listName);
  9.             if (list != null)
  10.             {
  11.                 SPContentType contentType = list.ContentTypes[0];
  12.                 contentType.NewFormUrl = urlFormNew;
  13.                 contentType.EditFormUrl = urlFormEdit;
  14.                 contentType.Update();
  15.             }
  16.         }
  17.         catch (Exception ex)
  18.         {
  19.             System.Diagnostics.EventLog.WriteEntry("ChangeContentTypeUrl", ex.Message);
  20.         }
  21.     }
  22. }

 

Para utilizarmos o código acima, devemos fazer assim:

ChangeContentTypeUrl(SPContext.Current.Web.Url, “Lista”, “pages/Novo.aspx”, “pages/Edit.aspx”);

 

Abraços!

Written by Rodrigo Romano

October 25, 2010 at 11:41 pm