读书人

一个关于Request.UrlReferrer的奇怪有

发布时间: 2012-01-26 19:40:46 作者: rapoo

一个关于Request.UrlReferrer的奇怪问题
我有两个页面WebForm1.aspx和WebForm2.aspx
当我运行WebForm1.aspx ,点进入WebForm2.aspx页面,再从WebForm2.aspx返回上一页时,出现IE地址栏为http://localhost/精通aspnet实例/sdk/dynamiusecontrols/WebForm2.aspx

而我采用断点运行,发现url 值为 "http%3a%2f%2flocalhost%2f%cd%a8aspnet%ca%b5%2fsdk%2fdynamiusecontrols%2fWebForm1.aspx "
url是WebForm1.aspx而地址栏为WebForm2.aspx
为什么呢?
代码如下:webform2.aspx

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(! IsPostBack)
{
if(Request.UrlReferrer != null)
{
ViewState[ "URLreferrer "]=Request.UrlReferrer.ToString();
}
}

}


private void LinkButton1_Click(object sender, System.EventArgs e)
{
if(ViewState[ "URLreferrer "]!=null)
{
string url=Server.UrlEncode(ViewState[ "URLreferrer "].ToString()).ToString();
Response.Redirect(url);
}
}


[解决办法]
把string url=Server.UrlEncode(ViewState[ "URLreferrer "].ToString()).ToString();的encode去掉
string url=ViewState[ "URLreferrer "].ToString();

读书人网 >asp.net

热点推荐