Я пишу представление для списка событий в SharePoint (Schema.xml) и хочу отфильтровать результаты в соответствии с датой (то есть отображать только события, начинающиеся между 2 датами)
Обычно я бы использовал CAML-запрос, например, такой:
<Where>
<And>
<Geq>
<FieldRef Name="Event_x0020_Start_x0020_Date" />
<Value Type=”DateTime”>2009-10-10T10:00:00Z</Value>
</Geq>
<Leq>
<FieldRef Name="Event_x0020_Start_x0020_Date" />
<Value Type=”DateTime”>2009-11-10T10:00:00Z</Value>
</Leq>
</And>
</Where>
Однако в этом случае даты, с которыми я хочу сравнить, недоступны непосредственно в поле, я должен получить их из строки запроса.
Я пытался использовать
<Value Type="DateTime">
<GetVar Scope="Request" Name="Start" />
</Value>
<Value Type="DateTime">
<GetVar Scope="Request" Name="End" />
</Value>
где Start и End - две даты в строке запроса (я пробовал каждый формат даты, с и без Type = "DateTime"), но я всегда получаю пустые результаты. Запрос работает нормально, когда я жестко кодирую свои даты (скажем, 2009-10-10T10: 00: 00Z).
У меня есть контроль над тем, что я посылаю в строке запроса, поэтому я могу изменить его, если есть другой способ.
Так есть ли способ получить формат DateTime в строке запроса? Если нет, у меня есть другие варианты?
Спасибо!