我正在尝试从url获取查询字符串使用以下代码:
this.site_query = Request.Url.Query;
当我得到网址时:
它在代码中给出了打击输出:
但是我需要在查询字符串中发送的阿拉伯语文本。当查询字符串包含英文文本时,则在c#中它是正确的。
答案 0 :(得分:5)
您在答案中显示的第二个网址没有任何问题,由于网址中允许使用哪些字符的限制,它只是URL encoded。
如果您希望在代码中获取部分查询字符串,可以使用以下代码:
var query = Request.QueryString["q"];
此外,如果您要在代码中构建网址,则应始终URL encode以及可能包含非标准字符的值:
var urlEncodedValue = HttpUtility.UrlEncode(someValue);
答案 1 :(得分:4)
正如其他人所说:它是一个编码的URL。您可以使用
进行解码var decodedUrl = HttpUtility.UrlDecode(url);
或
var decodedUrl = Uri.UnescapeDataString(url);
这就是你需要的吗?如果没有,请告诉我们您的预期输出。
答案 2 :(得分:2)
用于此用途 string name = HttpUtility.UrlEncode(Encrypt(txtName.Text.Trim())); string technology = HttpUtility.UrlEncode(Encrypt(ddlTechnology.SelectedItem.Value));
用于编码网址。