一个注册页面,注册成功后返回原来的页面,代码部分如下:
public string returl;
private void Page_Load(object sender, System.EventArgs e)
{
   if(!IsPostBack)
   {
      returl = this.Request.UrlReferrer.ToString();
      Response.Write(returl);//我response测试,这个地方都能取到值了
   }
}
private void reg_Click(object sender, System.EventArgs e)  //提交注册按钮
{
   Response.Redirect(returl);//这个地方提示为空,出错
}

解决方案 »

  1.   

    public string returl;
    这个变量被清空了。
      

  2.   

    if(!IsPostBack)
       {
          returl = this.Request.UrlReferrer.ToString();
          Response.Write(returl);//我response测试,这个地方都能取到值了
       }
    你这个只在第一次进入页面时执行,以后都不会执行了,所以当page类重新生成的时候(向服务器回发)就不会再给returl 赋值了。
    可以用ViewState["returl"]
    if(!IsPostBack)
       {
          ViewState["returl"] = this.Request.UrlReferrer.ToString();
       }
    *************
    private void reg_Click(object sender, System.EventArgs e)  //提交注册按钮
    {
       Response.Redirect(ViewState["returl"].ToString());//这个地方提示为空,出错
    }