2010-12-14 6 views
1

die items.count sollte atlease 10. Ich habe 10 Unterordner (Release 1 ..... Release 10) mit in dieser Dokumentbibliothek "Auto Cad" und jeder Unterordner hat eine Datei namens license.txt. hmmm Warum gibt es keine Datei (en) zurück?Anzahl der Elemente sollte 10 sein, ist aber 0

private void btnGetFileGuid_Click(object sender, EventArgs e) 
{ 

using (SPSite site = new SPSite("https://www.abc.com/sites/Software")) 
{ 
using (SPWeb web = site.OpenWeb()) 
{ 
    SPList spList = web.Lists["Auto Cad"]; 
    string fileName = "license.txt"; 
    SPQuery query = new SPQuery(); 
    query.Query="<Where><Eq><FieldRef Name='FileLeafRef' /><Value Type='Text'>" + fileName + "</Value></Eq></Where>"; 
    SPListItemCollection items = spList.GetItems(query); 
    if (items.Count > 0) 
    { 
    Guid id = items[0].UniqueId; 
    lblGuid.Text = id.ToString(); 
    } 
    } 
} 
} 
+0

Bitte verwenden Sie die Codeformatierung, damit Ihr Code-Snippet besser lesbar ist. – Drew

+0

Drew, ich kann den Code-Block im grauen Bereich sehen und jede Codezeile hat eine eigene Zeile. Fehle ich etwas? –

Antwort

0

SPQuery sucht nur einen bestimmten Ordner - rekursiv Ordner Sie

SPQuery.ViewAttributes = "Scope=\"Recursive\"";

So Ihr Code sollte festlegen müssen suchen

SPQuery query = new SPQuery(); 
query.ViewAttributes = "Scope=\"Recursive\""; 
query.Query=".... REST OF YOUR CODE HERE " 
+0

funktioniert wie Charme. Danke Ryan .... –

0
query.Query="" + fileName + ""; 

Diese Linie ist falsch. Dies sollte eine CAML-Abfrage und kein Dateiname sein.

+0

Der Post ist jetzt bearbeitet. Als ich den Post sah, war es Query = "license.txt". –

+1

Und bevor Sie den Kommentar zu meinem Beitrag als Absicht der Punktevergabe geben. Haben Sie Etikette auf gutes Thema "Em3gency irgendwie situ @ tion" –

0

Sie benötigen einen rekursiven Aufruf der Verwendung machen Lösung in Frage gestellt Link unter

Ich würde empfehlen zu verwenden qry.ViewAttributes = "Scope = 'RecursiveAll' "; um auch Dokumente und Ordner zu erhalten query to get all items in a list including items in the sub folders in sharepoint

+0

ashutosh: sieht aus wie Ryans Typ Lösung. Ich werde es auch versuchen. Was ist der Hauptunterschied zwischen diesen beiden? –

+0

Wenn Sie den Link sehen, der mit der Antwort versehen ist, und sehen Sie, dass er die Frage beantwortet, die Sie gestellt haben –

+0

Wie kommt eine identische Antwort, die Stunden nach mehr Stimmen gekommen ist? Punkte eifersüchtig viel;) – Ryan

Verwandte Themen