Забавная проблема с фильтрацией представления календаря sharepoint.Этот код работает нормально:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite siteCollection = new SPSite(SPContext.Current.Web.Site.ID))
{
using (SPWeb site = siteCollection.OpenWeb())
{
site.AllowUnsafeUpdates = true;
SPView view = site.Lists["My Calendar"].Views["Calendar"];
view.Query = @"<Where><Eq><FieldRef Name='Title'/><Value Type='Text'>ololo</Value></Eq></Where>";
view.Update();
site.AllowUnsafeUpdates = false;
}
}
});
Но когда я меняю запрос на
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite siteCollection = new SPSite(SPContext.Current.Web.Site.ID))
{
using (SPWeb site = siteCollection.OpenWeb())
{
site.AllowUnsafeUpdates = true;
SPView view = site.Lists["My Calendar"].Views["Calendar"];
view.Query = @"<Where><Or><Eq><FieldRef Name='Title'/><Value Type='Text'>ololo</Value></Eq><Eq><FieldRef Name='Title'/><Value Type='Text'>trololo</Value></Eq></Or></Where>";
view.Update();
site.AllowUnsafeUpdates = false;
}
}
});
, я получаю исключение:
Введенная строка была в неправильном формате.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.FormatException: входная строка была в неправильном формате.
Ошибка источника:
Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение,Информация о происхождении и местонахождении исключения может быть идентифицирована с помощью приведенной ниже трассировки стека исключений.
Трассировка стека:
[FormatException: входная строка была в неправильном формате.] System.Number.StringToNumber (String str, параметры NumberStyles, NumberBuffer & number, информация NumberFormatInfo, логическое parseDecimal) +10161091 System.Number.Microsoft..MoveNext () +322 System.Linq.Buffer 1..ctor(IEnumerable
1 источник) +548 System.Linq.d _0.MoveNext () +164 Microsoft.SharePoint.ApplicationPages.Calendar.CalendarItemRetriever.ConvertItemType (IEnumerable 1 items) +578
Microsoft.SharePoint.ApplicationPages.Calendar.DefaultCalendarListAccessor.Retrieve(String selectedDate, String scope, Dictionary
2 entityInfo) +18 микрosoft.SharePoint.ApplicationPages.Calendar.CalendarService.CreateStartupResponse (метод доступа ICalendarAccessor, параметры Dictionary`2, String viewType, String selectedDate) +249 Microsoft.SharePoint.ApplicationPages.WebControls.AjaxCalendarView.CreateStartupDate. String ViewingDate. StringSharePoint.ApplicationPages.WebControls.AjaxCalendarView.CreateBodyOnLoadScript (веб-сайт SPWeb) +306 Microsoft.SharePoint.ApplicationPages.WebControls.AjaxCalendarView.OnPreRender (EventArgs e) +425 System.Web.UI.Control.10Reender (Enterprise) (Reader).Control.PreRenderRecursiveInternal () +224 System.Web.UI.Control.PreRenderRecursiveInternal () +224 System.Web.UI.Control.PreRenderRecursiveInternal () +224 System.Web.UI.Control.PreRenderRecursiveInternal ()).UI.Control.PreRenderRecursiveInternal () +224 System.Web.UI.Control.PreRenderRecursiveInternal () +224 System.Web.UI.Control.PreRenderRecursiveInternal () +224 System.Web.UI.Control.PreRenderRecursiveInternal () +224 System.Web.UI.Page.ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint) + 3394
Кто-нибудь знает, как решить эту проблему?