ASP.NET的UrlReferrer方法虽然可以获取来源网址,但最近在进行移动开发的时候,虽然UrlReferrer获取的包含中文参数的地址是正确的,但设置为Link的NavigateUrl属性时,点击链接返回后,来源网址获取的是乱码。所以使用该替代方法getParam:
private string getParam(string strHref, string strName)
{
int intPos = strHref.IndexOf("?");
if (intPos < 1)
return "";
string strRight = strHref.Substring(intPos + 1);
string[] arrPram = Utils.SplitString(strRight, "&");//SplitString方法:将某字符串按特定字符或字符串分割为字符串数组
for (int i = 0; i < arrPram.Length; i++)
{
string[] arrPramName = Utils.SplitString(arrPram[i], "=");
if (arrPramName[0].ToLower() == strName.ToLower()) return arrPramName[1];
}
return "";
}
如何使用:
protected void Page_Load(object sender, EventArgs e)
{
string url = Request.UrlReferrer.ToString();
url = "SearchResult.aspx?sArea=" + Server.UrlEncode(getParam(url, "sArea")) + "&sKeyword=" + Server.UrlEncode(getParam(url, "sKeyword"));
linkBack.NavigateUrl = url;
}
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛