#c# #filter #microsoft-graph-api #odata #special-characters
Вопрос:
Ниже приведен код. Если я передам значение поиска параметра поиска, например: M’test. Это приводит к ошибке.
Как правильно использовать этот код для поддержки специального символа, такого как «‘»?
var graphClient = await GetGraphClient();
List<QueryOption> queryOptions = new List<QueryOption>();
queryOptions.Add(new QueryOption("$filter", string.Format("startswith(displayName,'{0}')", search)));
var collection = await graphClient.Data.Request(queryOptions).GetAsync();
Ответ №1:
Экранирование одинарных кавычек
Для запросов, использующих одинарные кавычки, если какие-либо значения параметров также содержат одинарные кавычки, они должны быть экранированы дважды; в противном случае запрос завершится ошибкой из-за недопустимого синтаксиса.
В вашем примере M'test
это должно было бы быть M''test
.
Скорее всего, вы могли бы просто использовать string.Replace
или регулярное выражение для замены '
на ''
Комментарии:
1. Спасибо за быстрый ответ. Это работает.