Asp.net 对HTML页面标题进行编码的正确方法

Asp.net 对HTML页面标题进行编码的正确方法,asp.net,html,webforms,Asp.net,Html,Webforms,我有一个ASP.NET WebForms应用程序。我正在根据数据库中的内容设置页面标题 由于此内容由用户输入,因此它可以包含任何字符,包括可以解释为HTML标记的字符。因此,在设置标题之前,我将对该内容进行HTML编码 但我发现这会产生过度编码的结果,从而导致问题: <title>Hoigaard&amp;#39;s Nordic Walking Tuesdays</title> Hoigaard&#39;s北欧步行星期二 安全编码用于设置标题标签的文本

我有一个ASP.NET WebForms应用程序。我正在根据数据库中的内容设置页面标题

由于此内容由用户输入,因此它可以包含任何字符,包括可以解释为HTML标记的字符。因此,在设置标题之前,我将对该内容进行HTML编码

但我发现这会产生过度编码的结果,从而导致问题:

<title>Hoigaard&amp;#39;s Nordic Walking Tuesdays</title>
Hoigaard&#39;s北欧步行星期二

安全编码用于设置标题标签的文本的正确方法是什么?

使用一些类似于PHP函数的函数
htmlspecialchars()


我对此进行了测试,结果显示设置
页面。Title
已经执行了编码。因此,额外的编码会产生双重编码的结果。只需直接设置
页面标题即可:

Page.Title = "Test & Testing";
结果:

<title>Test &amp; Testing</title>
Test&;测试

在设置
页面。Title
之前,您是否首先验证有必要对值进行编码?在文本为
的极端情况下,我可以看到出现了真正的问题。我认为不编码这个内容是不好的。不。我的意思是,你是否验证了
Page.Title
尚未对结果进行编码?噢!查看问题文本,我可以看到它实际上被编码了两次。看来这就是问题所在。谢谢。看起来问题是ASP.NET已经对标题进行了编码,所以我将对其进行两次编码。javascript的情况如何??
<title>Test &amp; Testing</title>