2016-11-21 4 views
0

Ich verwende CSOM, um Daten von sharePoint online abzurufen. Ich brauche Daten aus einem Dokument lib. Hier ist die Syntax, mit der ich Daten abgerufen habe.SharePoint-Lookup-Feld mit Nullwert

List list = clientContext.Web.Lists.GetByTitle("Required Documents"); 
if (list != null) 
{ 
CamlQuery caml = new CamlQuery(); 
caml.ViewXml = @"<View> 
        <Query> 
        <Where> 
         <Eq> 
         <FieldRef Name='PONo' /> 
         <Value Type='Lookup'>" + poNo + @"</Value> 
         </Eq> 
        </Where> 
       </Query>            
       </View>";            

ListItemCollection items = list.GetItems(caml); 
clientContext.Load<ListItemCollection>(items); 
clientContext.ExecuteQuery(); 

Hier PONo ist eine Suche nach einem anderen Listenelement. Also habe ich versucht, Wert wie unten zu erhalten, aber es gibt null zurück.

var itm = item.FieldValues["PONo"] as FieldUserValue; 

wenn wie diese versuchen,

var itm = item.FieldValues["PONo"]; 

Es gibt nötig Wert. Was wäre das Problem?

Antwort

1

Versuchen Sie es so, FieldUserValue ist nützlich, wenn Sie mit Benutzern arbeiten, aber in diesem Fall benötigen Sie FieldLookupValue.

var PONo = item["PONo"] as FieldLookupValue; 

if (PONo!= null) 
{ 
    var PONo_Value = PONo.LookupValue; 
    var PONo_Id = PONo.LookupId; 
} 
+0

danke für Ihre Unterstützung. – RiksonTool