В одном проекте я столкнулся с той же проблемой, поэтому мы реализовали приведенный ниже фрагмент кода.что полезно для нас.вам нужно кодировать ваш URL-адрес во время и декодировать ваш URL-адрес при получении значения из него.
Логика шифрования:
BaseUrl + "Integration/Link?democode=" + Server.UrlEncode(Crypto.Encrypt(model.demoCode)) + "&requestsource=" + Server.UrlEncode(Crypto.Encrypt(model.demoSource));
Чтение значения из строки запроса:
Dictionary<string, string> queryStringDic = GetDicFromQueryString(HttpUtility.ParseQueryString(HttpUtility.UrlDecode(Convert.ToString(HttpContext.Request.QueryString))));
Ниже общая функция свяжет ваше значение строки запроса в Словарь.
private Dictionary<string, string> GetDicFromQueryString(NameValueCollection queryValue)
{
Dictionary<string, string> dictionaryKeyValue = null;
if (queryValue != null && queryValue.AllKeys != null)
{
string value;
dictionaryKeyValue = new Dictionary<string, string>();
foreach (var k in queryValue.AllKeys)
{
if (!string.IsNullOrWhiteSpace(k))
{
value = queryValue[k];
dictionaryKeyValue.TryAdd(k, string.IsNullOrWhiteSpace(value) ? value : value.Replace(' ', '+'));
}
}
}
return dictionaryKeyValue;
}
Надеюсь, это поможет вам.дайте мне знать, если у вас все еще есть проблема.