带有特殊字符的C#上的Querystring问题

Ami*_*mit 3 c# asp.net query-string

我遇到了一个非常奇怪的问题,在我的查询中,"++"作为文本的一部分.但是当我将查询stirng值分配给字符串时,++将变为两个空格.我如何准确地获得作为查询字符串传递的内容?

我观察到querystirng集合有"++"但是当我执行Request.QueryString ["search"].ToString()"++"消失了,我在立即窗口中检查了.

我使用C#2.0

网址:/default.aspx?search = test ++

string t = Request.QueryString["search"].ToString();
Run Code Online (Sandbox Code Playgroud)

Chu*_*ebs 8

你应该使用UrlEncodeUrlDecode

在将用户输入的数据插入查询字符串时,应该使用这些方法.


Ada*_*son 3

查询字符串中的加号会转换为空格。如果您想要一个实际的加号而不是空格,请%2B改用。

/default.aspx?search=test%2B%2B
Run Code Online (Sandbox Code Playgroud)

如果您在代码中执行此操作,那么您应该使用UrlEncode对查询字符串的这一部分进行编码。