Получение представления SharePoint через URL — объектная модель на стороне клиента

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

Класс View имеет свойство для ViewCollection.GetById, но он запрашивает Guid, который я также не могу получить через URL. Это вообще возможность? Я что-то упускаю?


person Tom Skidmore    schedule 12.01.2015    source источник


Ответы (1)


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

Как получить представление по его 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);
}
person Vadim Gremyachev    schedule 12.01.2015