关于URL的传递字符串问题2011-09-15哪热前几天在调程序的时候遇到了比较郁闷的问题,我用URL从一个页面传递字符串到另一个页面的时,出 现了个奇怪的问题,我要传递的字符串是“DK51+700中继站”;可是另一个页面接收到字符串却是: “DK51 700中继口”;加号变成了空格,“站”不能解析出来,变成了不能识别的符号“口”。我上网查找了原因:URL中有些字符被转义,比如空格被编码成加号,于是传的参数明明是加号,获取 的值却成了空格。按照网上的建议,我们应该对要传递的参数进行编码处理。于是,我对传递的参数进行了处理,但是 又衍生了一堆问题出来;我当时为了节约时间,就没有仔细研究,用了字符串中的Replace()方法在传送 前代替了这两个字符,接收到了再代替回来。现在我来具体的展示下这个问题。1.首先,我们先看下我的开始的问题(环境:VS2008):1.1.新建一个网站,在其中添加一个页面,一个页面是Defaul.aspx,另一个页面Defaul2.aspx,在第 一个页面中添加一个控件:HyperLink1;后台代码:public partial class _Default : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    string url;
    string name;
    url = "Default2.aspx?Name=";
    name = "DK51+700中继站";
     HyperLink1.NavigateUrl = url + name;
  }
}1.2.在第二个页面中添加一个Label控件Label1;后台代码:public partial class Default2 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    string name = Request.QueryString ["Name"];
    Label1.Text = name;
  }
}