如果我有一个从数据库表中填充的图像工具提示。我从我的服务器端C#代码
生成下面的html public string GetImage()
{
return "<img class='iconSpace' title ='" + dataIssue + "' src='/Content/Images/Icons" + size + "/information_red.png' />";
}
问题是如果变量dataIssue中有一个撇号,它只显示字符串中的字符直到那一点。
根据上面的代码,在工具提示中显示整个字符串的最佳方法是什么?
答案 0 :(得分:1)
'
不是HTML的特殊符号,浏览器显示整个字符串没有问题,但您可能会遇到以下符号" < > &
的问题,应将其转义为:
"
<
>
&
如果您的浏览器错误地处理HTML标准并剪切其余字符串,您可以尝试使用'
转义单引号 - 这适用于所有浏览器
所以,根据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("...")
。