Как я понимаю, ваша входная строка выглядит так:
var inputString = "key1=value1&key2=value2&key3=value3";
Приведенный ниже код проанализирует строку, создаст список и свяжет его с сеткой.
var list = Regex.Matches(inputString, @"(?<key>\w+)=(?<value>\w+)(&|$)")
.Cast<Match>()
.Select(arg => new { Key = arg.Groups["key"].Value, Value = arg.Groups["value"].Value })
.ToList();
GridView1.DataSource = list;
GridView1.DataBind();
Итак, ваш окончательный код будет выглядеть так:
string pwd = "ebskey";
string DR = Request.QueryString["DR"];
DR = DR.Replace(' ', '+');
string sQS = Base64Decode(DR);
DR = EBSHelper.Decrypt(pwd, sQS, false);
var list = Regex.Matches(DR, @"(?<key>\w+)=(?<value>\w+)(&|$)")
.Cast<Match>()
.Select(arg => new { Key = arg.Groups["key"].Value, Value = arg.Groups["value"].Value })
.ToList();
GridView1.DataSource = list;
GridView1.DataBind();