0

如果我有一个从数据库表中填充的图像工具提示。我正在从我的服务器端 C# 代码生成下面的这个 html

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

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

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

4

3 回答 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

于 2013-10-21T23:49:02.067 回答
0

这对你有用吗?

string img = "<img class=\"iconSpac\" title=\"" + dataIssue + "\" " + "scr=\"/Content/Images/Icons\"" + size + "/information_red.png\" />";
于 2013-10-22T00:27:55.180 回答
0

你应该使用HttpUtility.HtmlEncode("...")它。

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

于 2013-10-22T07:42:58.523 回答