Roc*_*ngh 4 c# asp.net encoding .net-4.0
<asp:HyperLink ID="TestHyperLink" runat="server"></asp:HyperLink>
Run Code Online (Sandbox Code Playgroud)
我有上述超链接.我只是用下面的代码设置文本:
string textFromUser = "This is test's.";
string encodedText=HttpUtility.HtmlEncode(textFromUser);
TestHyperLink.Text = encodedText;
TestHyperLink.ToolTip = encodedText;
Run Code Online (Sandbox Code Playgroud)
问题是超链接的文本正确,但工具提示显示编码的字符.

如何使工具提示以与文本相同的方式显示?
您正在看到该问题,因为属性值被编码两次.
'字符被编码成';&字符被编码成&.最后输出作为发送到浏览器title="This is test&quot;s.".由于默认情况下属性值已经被编码,因此您可以安全地将Tooltip属性设置为原始文本,并仅编码Text属性的文本.
注意:在这种情况下,默认情况下会执行属性编码,但HtmlEncode在4.0之前的.NET版本中,不对'字符进行编码.请参阅HtmlEncode和UrlEncode现在编码单引号.
更新:我做了一些谷歌搜索,发现这个有趣的参考(哪些ASP.NET控件自动编码?)可能已经过时但至少对于这个特定情况,记录的行为是你得到的.
| 归档时间: |
|
| 查看次数: |
1880 次 |
| 最近记录: |