C# 我想将html实体解码为文本,然后执行string.contain操作

C# 我想将html实体解码为文本,然后执行string.contain操作,c#,html,asp.net,C#,Html,Asp.net,我的文本框数据 txtdata = "java&#115&#99&#114&#105&#112&#116 is good." 我想把它解码成“javascript很好。” 我使用过WebUtility.HtmlDecode和htmlutility.HtmlDecode,但它不起作用 当我使用 String check = WebUtility.HtmlDecode(txtdata); 或 HtmlUtility.HtmlDecode(txtd

我的文本框数据

txtdata = "java&#115&#99&#114&#105&#112&#116 is good."
我想把它解码成“javascript很好。” 我使用过
WebUtility.HtmlDecode
htmlutility.HtmlDecode
,但它不起作用

当我使用

String check = WebUtility.HtmlDecode(txtdata); 

HtmlUtility.HtmlDecode(txtdata);
然后尝试使用

 if  (check.Contains("javascript") == true)
它显示
false
我尝试过调试,它在检查字符串中显示了与原始“javascript相同的文本,效果很好。

我能做什么?
谢谢。

您的HTML字符串编码不正确,您遗漏了分号。 应该是:

txtdata = "javascript is good.";

使用正确编码的字符串,
HttpUtility.HtmlDecode()
WebUtility.HtmlDecode()
将返回
javascript良好。

您如何在客户端对其进行编码?我建议使用URI.encodeUriComponent,然后在后端使用C#的URI.UnescapeDataString()函数。这是一种更好的方法,因为您将在HTTP请求方面通过URI发送数据。实际上,我正在做一个关于xss预防的项目,我希望这样。谢谢。您想要防止xss,但您尝试实现的方式值得怀疑。如果我不写单词
javascript
,它仍然会发生。您可以做的是遵循我建议的方法,然后使用反XSS库。你对它的编码方式没有什么区别