2015-01-12 2 views
1

У меня возникли проблемы с поиском данных из представления с помощью объектной модели на стороне клиента. У меня есть Url для просмотра списка, но я не могу получить данные через это. Я могу получить список, но это возвращает только представление по умолчанию, а не конкретное.Извлечение SharePoint с помощью URL-адреса объекта Url-Client

Класс View имеет свойство для ViewCollection.GetById, но это просит Guid, в котором я также теряю доступ через Url. Возможно ли это вообще? Я что-то упускаю?

ответ

1

По умолчанию вы можете получить View по:

Как получить вид его Url

Следующий пример демонстрирует как получить просмотр по URL-адресу:

using System.Linq; 
using Microsoft.SharePoint.Client; 

namespace SharePoint.Client.Utilities 
{ 
    public static class ViewExtensions 
    { 
     public static View GetViewByUrl(this List list,string viewUrl) 
     { 
      var ctx = list.Context; 
      var result = ctx.LoadQuery(list.Views.Where(v => v.ServerRelativeUrl == viewUrl)); 
      ctx.ExecuteQuery(); 
      return result.FirstOrDefault(); 
     } 
    } 
} 

Использование

var viewUrl = "/[site]/[web]/[list]/viewname.aspx"; 
using (var ctx = new ClientContext(webUri)) 
{ 
    var list = ctx.Web.Lists.GetByTitle(listTitle); 
    var view = list.GetViewByUrl(viewUrl); 
    Console.WriteLine(view.Title); 
}