Recorrer biblioteca buscando carpeta

14/01/2008 - 10:43 por gerimura | Informe spam
Hola, buenos dias.
Tengo una biblioteca y dentro de ella una serie de documentos y
carpetas. Necesito recorrerlas para buscar una carpeta en concreto.
Este es el codigo que tengo.
SPList myList = MyWeb.List;
if (myList.Folders.Count > 0)
{
foreach (SPFolder OneFolder in myList.Folders)
{
if (OneFolder.Name == _Proveedor)
{
_ExisteCarpeta = true;
break;
}
}
}

El contador de carpetas me dice correctamente el numero de carpetas
que tengo, pero cuando se mete en el bucle salta una excepcion
diciendo que no hay elementos.. Alguna idea?

Un saludo y gracias por adelantado.
Gerald

Preguntas similare

Leer las respuestas

#1 gerimura
14/01/2008 - 11:39 | Informe spam
En realidad la excepcion que da es la siguiente:
An exception of type 'System.InvalidCastException' occurred in
WFMoverDocumentos.dll but was not handled in user code

Additional information: Unable to cast object of type
'Microsoft.SharePoint.SPListItem' to type
'Microsoft.SharePoint.SPFolder'.
Como podria recorrer la biblioteca?
Un saludo y gracias por adelantado.
Gerald
Respuesta Responder a este mensaje
#2 Gustavo
14/01/2008 - 14:53 | Informe spam
Hola Gerald,
El metodo Folders de myList.Folders es del tipo SPFolderCollection, y por
eso no le puedes hacer un cast.
Cambia el loop del foreach por algo asi como:

SPFolderCollection myFolders = myWeb.Folders;
foreach (SPFolder OneFolder in myFolders)

y no te saldra el error.
Veo tambien que estas haciendo un objeto myList usando MyWeb.List que no
existe (el que existe es una coleccion de listas -> MyWeb.Lists)... me parece
que alli tambien vas a tener un error... yo creo que deberia ser algo asi
como:

SPList myList = MyWeb.Lists["NombreLista"];

Suerte,
Gustavo
http://www.gavd.net/servers/default.aspx
http://geeks.ms/blogs/gvelez/


"" wrote:

En realidad la excepcion que da es la siguiente:
An exception of type 'System.InvalidCastException' occurred in
WFMoverDocumentos.dll but was not handled in user code

Additional information: Unable to cast object of type
'Microsoft.SharePoint.SPListItem' to type
'Microsoft.SharePoint.SPFolder'.
Como podria recorrer la biblioteca?
Un saludo y gracias por adelantado.
Gerald

Respuesta Responder a este mensaje
#3 gerimura
22/01/2008 - 18:21 | Informe spam
On 14 ene, 14:53, Gustavo wrote:
Hola Gerald,
El metodo Folders de myList.Folders es del tipo SPFolderCollection, y por
eso no le puedes hacer un cast.
Cambia el loop del foreach por algo asi como:

SPFolderCollection myFolders = myWeb.Folders;
foreach (SPFolder OneFolder in myFolders)

y no te saldra el error.
Veo tambien que estas haciendo un objeto myList usando MyWeb.List que no
existe (el que existe es una coleccion de listas -> MyWeb.Lists)... me parece
que alli tambien vas a tener un error... yo creo que deberia ser algo asi
como:

SPList myList = MyWeb.Lists["NombreLista"];

Suerte,
Gustavohttp://www.gavd.net/servers/...t.aspxhttp://geeks.ms/blogs/gvelez/

"" wrote:
> En realidad la excepcion que da es la siguiente:
> An exception of type 'System.InvalidCastException' occurred in
> WFMoverDocumentos.dll but was not handled in user code

> Additional information: Unable to cast object of type
> 'Microsoft.SharePoint.SPListItem' to type
> 'Microsoft.SharePoint.SPFolder'.
> Como podria recorrer la biblioteca?
> Un saludo y gracias por adelantado.
> Gerald



Gracias Gustavo, ya consegui solucionarlo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida