C# asp.net中添加到querystring的新行和空格
我正在处理的页面上遇到了一个相当奇怪的问题。C# asp.net中添加到querystring的新行和空格,c#,asp.net,web,query-string,C#,Asp.net,Web,Query String,我正在处理的页面上遇到了一个相当奇怪的问题。 这是我正在处理的一个地址: http://localhost:49726/Redirect.aspx?ACTION=FLIGHTHOTEL 现在,在Redirect.aspx的第_Init页中,我正在访问Request.QueryString.ToString(),我得到如下值: %0d%0a++++++++&ACTION=FLIGHTHOTEL 额外的空格(+)和换行符/制表符(%0d%0a)从哪里来? 确认Request.RawUrl不
这是我正在处理的一个地址:
http://localhost:49726/Redirect.aspx?ACTION=FLIGHTHOTEL
现在,在Redirect.aspx的第_Init页中,我正在访问Request.QueryString.ToString()
,我得到如下值:
%0d%0a++++++++&ACTION=FLIGHTHOTEL
额外的空格(+)和换行符/制表符(%0d%0a)从哪里来?确认
Request.RawUrl
不包含这些额外空格,而Request.Url
包含以下空格:
http://localhost:49726/Webpages/Redirect.aspx?\r\n\uuuuuuuuuuuuuuuuuuuuuu&ACTION=FLIGHTHOTEL
(为了便于查看,我将空格替换为。
)
有没有一个简单的方法不让他们在那里?我不喜欢子字符串,因为我不知道如何以及这是静态的还是随机的
谢谢
---编辑--
哈哈,有趣的事。我在我的web.config中找到了一些行,这些行捕获url并在加载任何页面之前重定向到另一个,如下所示:
<RewriterRule>
<LookFor>~/redirect.aspx?([^\/]*)</LookFor>
<SendTo>~/Webpages/Redirect.aspx?$1</SendTo>
</RewriterRule>
~/redirect.aspx?([^\/]*)
~/Webpages/Redirect.aspx?$1
现在这一行有了一些额外的新行和空格,如下所示:
<RewriterRule>
<LookFor>~/redirect.aspx?([^\/]*)</LookFor>
<SendTo>
~/Webpages/Redirect.aspx?$1
</SendTo>
</RewriterRule>
~/redirect.aspx?([^\/]*)
~/Webpages/Redirect.aspx?$1
这是导致问题的原因:)它对我来说工作正常。
您的服务器可能会出现一些问题
Label1.Text = Request.QueryString.ToString();
我刚刚用过这个但是如果我像你说的那样设置空格,我会得到
%5cr%5cn++&ACTION=FLIGHTHOTEL
嗯,那么问题是。。。服务器上的哪些设置可能导致这样的行为?我第一次遇到这样的情况,以前我已经多次使用Request.QueryString。。。