All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
在Asp.Net2.0中可以方便的访问配置文件web.config_[Asp.Net教程]
Asp.Net,Forms验证(自定义、角色提供程序、单点登录)_[Asp.Net教程]
[JS]用空格或,--,来兼容FireFox_JavaScript技术_编程技术
详细介绍PHP动态网页技术中SESSION的应用_php资料_编程技术
详细讲解PHP的日期时间函数date()_php资料_编程技术
SQL的排序,分组,统计常用语句_[SQL Server教程]
C#中程序调试之开始执行
Sql,Server2005实现远程备份数据库_mssql学习_编程技术
简单有效asp.net全部程序集权限配置_[Asp.Net教程]
ASP.NET入门随想之检票的老太太_[Asp.Net教程]
Reading number is top 10 pictures
非笑不可:最强爆笑图片精选
Fierce! China's special forces training the devil1
可爱的小动物
机器人也有性生活吗?
农夫山泉变身记
程序员的悲哀
青春清纯美女大集合1
徐若瑄展示美丽胸围1
Plump breasts1
Average female college students3
Download software ranking
Tram sex maniac 2 (H) rar bag8
WebService在.NET中的实战应用教学视频 → 第4集
Unix video tutorial19
徐若瑄成名作“魔鬼天使”
C语言教程TXT
Boxer Classic video1
Unix video tutorial4
jdk1.6 for windows
Unix video tutorial20
White deer villiage
归海一刀 published in(发表于) 2014/1/30 1:17:23 Edit(编辑)
asp.net,URL传值出现错误解决_[Asp.Net教程]

asp.net,URL传值出现错误解决_[Asp.Net教程]

asp.net URL传值出现错误解决_[Asp.Net教程]

最近在asp.net编程中发现一个问题,如果用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;
  }
}

1.3. 结果显示:“DK51 700中继口”。

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中继站";
    name = name.Replace("+", "@");
    name = name.Replace("站", "%");
    HyperLink1.NavigateUrl = url + name;
  }
}


  2.我当时的解决方法:用了字符串中的Replace()方法在传送前代替了这两个字符,接收到了再代替回来。
  2.1第一个页面的后台代码:

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中继站";
    name = name.Replace("+", "@");
    name = name.Replace("站", "%");
    HyperLink1.NavigateUrl = url + name;
  }
}

2.2.第二个页面中,后台代码:

public partial class Default2 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
{
  string name = Request.QueryString["Name"];
    name = name.Replace("@", "+");
    name = name.Replace("%", "站");
    Label1.Text = name;
  }
}

   2.3.结果是:“DK51+700中继站”。正确!
  后来我在网上找到这个这样的设置,在Web.config中设置:






添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.