none
Lectura de SPFieldBoolean de campo de lista yes/no en Sharepoint 2013 RRS feed

  • Pregunta

  • Buenos días Estimados, estoy realizando la lectura de una biblioteca de documentos en Sharepoint 2013, tengo un error que quisiera resolver:

    con SPquery:

    traigo el campo: <FieldRef Name=\"Visualizar_x0020_URL\"/>

    SPQuery query = new SPQuery();

                //Query para Obtener Contenido de la Biblioteca de acuerdo a los filtros
                query.ViewFields = "<FieldRef Name=\"ID\"/><FieldRef Name=\"Activo\"/><FieldRef Name=\"Descripci_x00f3_n\"/><FieldRef Name=\"FileLeafRef\"/><FieldRef Name=\"Modified\"/><FieldRef Name=\"Visualizar_x0020_URL\"/><FieldRef Name=\"Url_x0020_de_x0020_P_x00e1_gina\"/>";
                StringBuilder sbQuery = new StringBuilder();
                sbQuery.Append("<Where><Eq><FieldRef Name=\"Activo\"/><Value Type=\"bit\">");
                sbQuery.Append(1);
                sbQuery.Append("</Value></Eq></Where>");
                sbQuery.Append("<OrderBy><FieldRef Name=\"Orden\" Ascending=\"TRUE\" /></OrderBy>");
                
                query.Query = sbQuery.ToString();
                

    Para leer el campo uso el siguiente método:

    SPFieldBoolean bo = spItem.Fields["Visualizar_x0020_URL"] as SPFieldBoolean;
    item.verpagina = (bool)bo.GetFieldValue(spItem["Visualizar_x0020_URL"].ToString());

    Cuando ejecuta me sale el siguiente error, el campo está creado se llama "Visualizar URL":

    No se encontró el campo con el nombre "Visualizar_x0020_URL".

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.ArgumentException: No se encontró el campo con el nombre "Visualizar_x0020_URL".

    Source Error:
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:
    [ArgumentException: No se encontró el campo con el nombre "Visualizar_x0020_URL".]
       Microsoft.SharePoint.SPFieldCollection.GetFieldByDisplayName(String strDisplayName, Boolean bThrowException) +233
       PoderosaUtilitarios.wfrmBanner.ObtenerImagenes(SPListItemCollection collection) +450
       PoderosaUtilitarios.wfrmBanner.CargarBanner() +455
       PoderosaUtilitarios.wfrmBanner.DisplayBanners() +71
       System.Web.UI.Control.LoadRecursive() +71
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178
    


    Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.19063 

    Saludos

    Muchas Gracias

    jueves, 1 de agosto de 2013 16:02

Todas las respuestas

  • Hola,

    La primera pregunta que te haría es sí el campo que está dando el error tiene ese nombre o es Visualizar_x020_URL.

    Saludos


    ------------------------------------------------------------
    Juan Carlos González Martín MVP de SharePoint Server
    Director revista CompartiMOSS: http://www.compartimoss.com
    Blog: http://geeks.ms/blogs/ciin
    Twitter: @jcgm1978
    ------------------------------------------------------------

    jueves, 1 de agosto de 2013 20:10
  • Buen día, cuando se crea en la lista el nombre es = "Visualizar URL"

    para el SPquery busco el nombre como lo muestra Sharepoint ="Visualizar_x020_URL",

    para los otros tipos de campos utilice ese mismo metodo para obtener la columna, el problema solo pasa con el campo YES/no.

    Muchas Gracias

    viernes, 2 de agosto de 2013 17:31