3

私は SharePoint に比較的慣れていないので、SharePoint インベントリ データを xml として返す Web サービスを作成しようとしています。これらのリストの 1 つにルックアップ フィールドが含まれ、生成された xml にルックアップ フィールドの予期される文字列値ではなく "Microsoft.SharePoint.Client.FieldLookupValue" が含まれていることを除いて、うまく機能します。

これは、xml を生成するために使用しているコードです。

resultList = remoteWeb.Lists.GetByTitle("Cam Devices");
context.Load(resultList);
context.ExecuteQuery();
//Now its time to reach list's items
items = resultList.GetItems(new CamlQuery());
context.Load(items);
context.ExecuteQuery();
foreach (ListItem item in items)
{
    rootNode.AppendChild(doc.CreateElement("ID")).InnerText = "pcat:401824";
    rootNode.AppendChild(doc.CreateElement("Category")).InnerText = "Cam Devices";
    rootNode.AppendChild(doc.CreateElement("Kimlik")).InnerText = Convert.ToString(item["ID"]);
    rootNode.AppendChild(doc.CreateElement("Isim")).InnerText = Convert.ToString(item["Location0"]) + " >> " + Convert.ToString(item["Brand"]) + " >> " + Convert.ToString(item["ID"]);
}

item["Location"] はルックアップ フィールドであり、 type の値を持っていFieldLookupValueます。ルックアップ値を文字列として取得するにはどうすればよいですか?

4

1 に答える 1

16

次のコード構文を使用して、ルックアップ フィールドの値を正常に取得します。

string Location = "";
if (item["Location0"] != null)
{
    var fl = (SPFieldLookupValue)item["Location0"];
    Location = fl.LookupValue;
}
于 2012-07-04T10:22:53.470 に答える