Modificar la propiedad NoCrawl de un campo

Se me plantea la necesidad de modificar un atributo NoCrawl, de un campo de una lista creada en base a una plantilla de lista… es algo muy sencillo, aunque parezca un trabalenguas 馃檪

El atributo NoCrawl a nivel de SPField, indica si dicho campo puede ser reastreado por el buscador (a trav茅s de un valor buleano: TrueFalse), aqui tienes toda la informacion con respecto a esta propiedad.

En este caso, lo que se quiere es que el buscador reastee contenido almacenado en un campo, que tiene el atributo NoCrawl = True. Cambiar esto a trav茅s del modelo de objetos es una labor muy sencilla, aqui teneis un ejemplo de como podriamos modificarlo.

using (SPWeb oWebsite = SPContext.Current.Site.AllWebs["MiSitio"])
{
    SPList oList = oWebsite.GetList("Lists/Announcements/AllItems.aspx");
    SPFieldCollection collFields = oList.Fields;
    SPField oField = collFields.GetField("MiColumna");
    oField.NoCrawl = true;
    oField.Update();
    oList.Update();
}

Hay que tener en cuenta, que si quieres modificar esta propiedad en varias listas de la misma coleccion de sitios, deberas primero recorer y almacenar cual van a ser las listas que has de modificar, y posteriormente modificarlas o de lo contrario SharePoint te dar谩 un error, ya que se esta haciendo una llamada al metodo Update de la lista…

Deja un comentario

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *