查询字符串编码问题

时间:2014-06-06 09:35:37

标签: c# query-string

我在变量中存储查询字符串值时遇到一个问题。 我的网址如下所示:

http://localhost:1372/testapp/default.aspx?Search=%family%

以下是我的尝试:

string result = Request.QueryString["Search"].ToString();

当我尝试将变量字符串搜索保存在变量中时,其值为�mily%

如何获取搜索参数作为系列的值?

提前致谢。

2 个答案:

答案 0 :(得分:1)

查询字符串参数必须进行URL编码。问题是用于URL编码的%字符,因此它必须自己编码。

'%'成为'%25'

这意味着整个网址变为:

http://localhost:1372/testapp/default.aspx?Search=%25family%25

您可以使用HttpUtitlity.UrlEncode

答案 1 :(得分:1)

在父页面中以这种方式编码查询字符串

public static sting Encode(string sData)
{
return HttpUtility.UrlEncode(sData);
}

现在将此编码的查询字符串传递给您的父页面&在父页面上通过以下函数解码该查询字符串。我假设编码的查询字符串名称是sData&它从父页面传递到子页面

public static string Decode()
{
string dSData = HttpUtility.UrlDecode(Request.QueryString["sData"].ToString());
return dsData;
}

我认为您已了解如何将查询字符串从父页面传递到子页面

再试一次this solution