string str4="about.aspx?iusername=you&ipassword=En+ffVd+790UkWmoqXYUGg==&serviceid=mtest";
Response.Redirect(@str4.ToString());其它En+ffVd+790UkWmoqXYUGg== 是我设置的密码.可是到about.aspx中,我通过下面的方法取参数的时候,发现取出来的密码是:En ffVd 790UkWmoqXYUGg==  , 缺少其中的+号. 请高手支招.不胜感激!!!
附:我的环境是VS2003 C#语言

string str;
if(Request.Params["ipassword"] !=null)
{
 str=Request.Params["ipassword"];
}

解决方案 »

  1.   

    下面的代码示例对字符串进行 URL 编码,然后将其发送到浏览器客户端。在此示例中,字符串 MyURL 将被编码为“http%3a%2f%2fwww.contoso.com%2farticles.aspx%3ftitle+%3d+ASP.NET+Examples”。String MyURL;
    MyURL = "http://www.contoso.com/articles.aspx?title = ASP.NET Examples";Response.Write( "<A HREF = " + Server.UrlEncode(MyURL) +  "> ASP.NET Examples <br>" );
       
    用Server.UrlEncode(MyURL)。
      

  2.   

    因为你传递密码中有特殊字符,需要在url中转义。
    所以要用Server.UrlEncode(MyURL)。
      

  3.   

    具体做法:
    string str4="about.aspx?iusername=you&ipassword="+Server.UrlEncode("En+ffVd+790UkWmoqXYUGg==")+"&serviceid=mtest"; 
    Response.Redirect(@str4.ToString()); 
      

  4.   

    发送的时候Server.UrlEncode()一下
    获取的时候Server.UrlDecode()一下
      

  5.   

    需要编码一下
    这种东西还是不要用get方法传输
    使用post吧