Как избежать одиночной кавычки, используя C # string.Replace для использования в HighCharts?

1

В моем приложении С# я использую пользовательский ввод для заполнения элементов в HighCharts. Проблема, с которой я сталкиваюсь, - это когда пользователь набирает customer's которое заставляет приложение ломаться, если оно не экранировано, набрав \ перед '.

Вот раздел в Highcharts, который я заполняю с помощью пользовательского ввода:

subtitle: {
    text: '<%=strDescription%>'
},

При добавлении записей вместо того, чтобы сообщать моим пользователям набирать \ перед вводом ', я хочу сделать это для них автоматически для них, когда я вытащил его из базы данных и назначил ему переменную. Вот что я пробовал:

strDescription = reader1.GetString(0);
strDescription.Replace("'", "\'");

Когда я удаляю косую черту с пользовательского ввода, она вызывает разрыв приложения, как будто строка не была экранирована. Обратите внимание на следующую ошибку:

subtitle: {
    text: 'This goal will be set once we have bench-marked the first quarter results.'
},

Как я могу избежать одиночной кавычки правильно?

  • 0
    Не уверен насчет старших графиков, но @ перед строкой сделает его буквальным. Можете ли вы поставить двойные кавычки вокруг текстовой переменной вместо одинарных?
  • 0
    @paqogomez Я решил свою проблему, используя strDescription = reader1.GetString(0).Replace("'", "\\'"); Однако я должен ждать 2 дня, прежде чем принять мой собственный ответ.
Показать ещё 1 комментарий
Теги:
escaping
highcharts

3 ответа

1
Лучший ответ

Я решил использовать это для решения моей проблемы.

strDescription = reader1.GetString(0).Replace("'", "\\'");
1

Один из способов сделать это - инвертировать кавычки - '' to ""

subtitle: {
    text: "<%=strDescription%>"
},
  • 0
    Я нашел другой способ, используя string.replace но хотел бы отметить этот как решенный
0

Вы можете использовать lookahead.

(?=')

А затем замените на \.

  • 0
    Мой сценарий выполнен в коде позади. Я пытаюсь добавить escape, когда строка извлекается из базы данных. Используя прогноз, это возможно? Если да, можете ли вы показать мне пример?
  • 0
    @Skullomania не уверен, что в codebehing присутствует упреждающий взгляд

Ещё вопросы

Сообщество Overcoder
Наверх
Меню