C# 为什么在Request.Url.PathAndQuery中出现此错误?

C# 为什么在Request.Url.PathAndQuery中出现此错误?,c#,asp.net,antixsslibrary,C#,Asp.net,Antixsslibrary,由于我的导师要求我在我的高级项目开发中使用AntiXss库,由于缺乏网络资源,我在使用该库时面临很多困难。作为我项目的一部分,我有一个上传文件的功能,用户可以上传文件,上传文件后,他将被重定向到同一页面以查看其他信息。一切正常,但当我添加AntiXss库并仅在以下行中使用它时,我得到了这个错误 (HTTP 400错误-错误请求) 我不知道为什么有人能告诉我为什么会出现这个错误吗?如何修复它? C#代码: Response.Redirect(Encoder.HtmlFormUrlEncode(Re

由于我的导师要求我在我的高级项目开发中使用AntiXss库,由于缺乏网络资源,我在使用该库时面临很多困难。作为我项目的一部分,我有一个上传文件的功能,用户可以上传文件,上传文件后,他将被重定向到同一页面以查看其他信息。一切正常,但当我添加AntiXss库并仅在以下行中使用它时,我得到了这个错误

(HTTP 400错误-错误请求)

我不知道为什么有人能告诉我为什么会出现这个错误吗?如何修复它?

C#代码:

Response.Redirect(Encoder.HtmlFormUrlEncode(Request.Url.PathAndQuery));

分解代码并查看每个步骤:

  • 获取传入请求的URL,并提取路径和查询
  • 通过基于表单的编码器运行
  • 重定向到该字符串
您认为基于表单的编码器将如何防止XSS攻击

试试这个:

Response.Write(Encoder.HtmlFormUrlEncode("http://www.stackoverflow.com"));

写了什么?尝试将其放在web浏览器中,可能会出现400(或502)错误。

Request.Url.PathAndQuery

The above syntax returns `/Cambia3/Temp/Test.aspx?query=arg`
有关进一步的url引用,请检查


HtmlFormUrlEncode获取字符串并编码为参数。有关这方面的更多信息,请参见

如果要将用户重定向到上一页,为什么需要使用PAthandQuery?