在html / asp.net-mvc中,在图像工具提示中包含撇号的正确方法是什么

时间:2013-10-21 23:42:04

标签: c# html asp.net-mvc image apostrophe

如果我有一个从数据库表中填充的图像工具提示。我从我的服务器端C#代码

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

问题是如果变量dataIssue中有一个撇号,它只显示字符串中的字符直到那一点。

根据上面的代码,在工具提示中显示整个字符串的最佳方法是什么?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

这对你有用吗?

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

答案 2 :(得分:0)

您应该使用HttpUtility.HtmlEncode("...")

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