我有一个问题,该公司使用业务跟踪系统捕获用户的首次访问并将他们重定向到他们尝试访问但附加了引用 URL 的页面......现在,由于引用 URL 带有该人的 URL试图访问(不要问为什么,我不知道)它导致我拥有每个值的副本。
所以参观这个...
home.aspx?test=test&test2=test2
变成
home.aspx?test=test&test2=test2&referrerurl=home.aspx?test=test&test2=test2
现在,对引荐来源网址进行 URL 编码可以解决问题,但我更有可能被大猩猩骚扰;所以问题是存在的。如何对 .QueryString 的输出进行重复数据删除?
目前我正在使用这个...
private string queryClean(string entity)
{
try
{
if(Request.QueryString["referrerUrl"] != null){
string[] Split = entity.Split(new Char[] { ',' });
string tmpValue = Convert.ToString(Split[0]);
return tmpValue;
}else{ return entity; }
}
catch (Exception cleanError)
{
errors.Text += "-clean-" + cleanError + "-endclean-";
return entity;
}
}
(忽略我们有应用程序级错误捕获的 try/catch,但我仍在使用它)。
我正在使用 C# .net 2
谢谢
[附加信息]
引用 URL 将始终位于字符串的末尾,因此可以在此之后删除所有查询字符串吗?
我试过使用
string test = Convert.ToString(Request.QueryString);
string[] tRSplit = Regex.Split(test, "&referrerUrl");
Response.Write(tRSplit[0]);
和...
System.Collections.Generic.List<string> testb = new System.Collections.Generic.List<string>(Convert.ToString(Request.QueryString).Split('&'));
for (int i = 0; i < testb.Count; i++)
{
Response.Write(i +": "+ testb[i].ToString()+"<br><br>");
}
两者仍然产生重复
我可以使用Trim但是有没有更清洁/更快的方法来实现这一点。