簡體   English   中英

如何使用CSOM發現與SPList一起使用的正確內部名稱

[英]How can I discover the right internal names to use with a SPList using CSOM

我正在使用客戶端服務對象模型(SharePoint 2013內部部署)加載SharePoint列表。 我正在使用以下代碼:

private void buttonRefreshOrders_Click(object sender, RoutedEventArgs e)
{
    using (var ctx = new ClientContext("http://sharepoint/ci/resources"))
    {
        var list = ctx.Web.Lists.GetByTitle("Resource Order Form Content");

        var query = new CamlQuery
                        {
                            ViewXml =
                                @"<Where><Or><Eq><FieldRef Name=""Status""></FieldRef><Value Type=""Text"">Approved</Value></Eq><IsNotNull><FieldRef Name=""Status"" /></FieldRef></IsNotNull></Or></Where>"
                        };

        var collListItem = list.GetItems(query);

        ctx.Load(collListItem);
        ctx.ExecuteQuery();

        if (collListItem.Count == 0)
        {
            MessageBox.Show(
                "No orders are currently within the queue.",
                "Information Center",
                MessageBoxButton.OK,
                MessageBoxImage.Information);
        }
        else
        {
            MessageBox.Show("Success!");

            foreach (var item in collListItem)
            {
                MessageBox.Show(item["Status"].ToString());
            }
        }
    }

}

我收到異常:

Microsoft.SharePoint.Client.dll中發生了類型為“ Microsoft.SharePoint.Client.PropertyOrFieldNotInitializedException”的未處理異常

通常,我相信當以下行中引用的名稱與SharePoint后端中的名稱不匹配時,會發生這種情況:

MessageBox.Show(item["Status"].ToString());

但是我不明白這里的情況,因為我在CamlQuery中使用了完全相同的命名。 我還使用了SP Caml Query Helper 2013 ,字段名稱似乎正確。

如何找到應該參考的正確字段名?

轉到共享點站點上的列表,轉到列表設置,然后單擊要查找的列以獲取正確的名稱,然后它將在地址欄中。

EG:YourSite / _layouts / FldEdit.aspx?List = {Guid}&Field = Cost%5Fx0020%5FCentre%5Fx0020%5FCode

在這種情況下,您想要的字段名稱為Cost_x0020_Centre_x0020_Code(%5F是“ _”,%20是空格,等等,您可能需要找出這些列表)。

這不是完整的列表,但其中包含大多數http://www.werockyourweb.com/url-escape-characters/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM