В html / asp.net-mvc, как правильно добавить апостроф в подсказку к изображению

0

Если у меня есть всплывающая подсказка, которая заполняется из таблицы базы данных. Я генерирую этот html ниже с моего кода на стороне сервера С#

  public string GetImage()
 {
  return "<img class='iconSpace' title ='" + dataIssue + "' src='/Content/Images/Icons" + size + "/information_red.png' />";
}

проблема в том, что если переменная dataIssue имеет в себе апостроф, она отображает только символы в строке до этой точки.

Каков наилучший способ показать всю строку в подсказке, указанную выше?

Теги:
asp.net-mvc
image
apostrophe

3 ответа

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

' не является специальным символом для HTML, и браузер показывает целую строку без проблем, но у вас могут быть проблемы со следующими символами " < > & их следует экранировать как:

&quot;
&lt;
&gt;
&amp;

если ваш браузер неправильно обрабатывает HTML-стандарт и вырезает остальную часть строки, вы можете попытаться избежать одиночной кавычки с помощью &#39; - это будет работать для всех браузеров

так, по ценностям стандартного атрибута HTML должны быть окружены " символом, а не ', поэтому здесь проблема должна быть решены:

dataIssue = any_kind_of_html_escape_function_here(dataIssue);
return "<img class=\"iconSpace\" title=\"" + dataIssue + "\" src=\"/Content/Images/Icons" + size + "/information_red.png\" />";

Для функции asp.net htmlencode определяется здесь: http://msdn.microsoft.com/en-us/library/w3te6wfz.aspx

  • 0
    Я обновил вопрос, чтобы лучше выделить корень проблемы. , не стесняйтесь удалить свой ответ. ,
  • 0
    @leora ответ еще более актуален с вашим обновлением, также проверьте правильный код
0

Вы должны использовать HttpUtility.HtmlEncode("...") для него.

http://msdn.microsoft.com/en-us/library/73z22y6h.aspx

0

Будет ли это работать для вас?

string img = "<img class=\"iconSpac\" title=\"" + dataIssue + "\" " + "scr=\"/Content/Images/Icons\"" + size + "/information_red.png\" />";

Ещё вопросы

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