更改 QueryString 的值

Posted

技术标签:

【中文标题】更改 QueryString 的值【英文标题】:changing value of QueryString 【发布时间】:2011-07-18 01:49:46 【问题描述】:

我在查询字符串中遇到错误。我的项目是由 ms visual studio 2003 编写的。请看下面我的代码

<a target="_blank" href="./PageOne.aspx?Customer=NAME1 + NAME2 + NAME3 PARA TEST">NAME1 + NAME2 + NAME3 PARA TEST</a>

系统尝试在 PageOne 获取客户价值,如下所示

Request.QueryString("Customer").ToString

值为

NAME1   NAME2   NAME3 PARA TEST

加号被空格代替。请分享我如何解决此问题。

【问题讨论】:

【参考方案1】:

网址受URL encoding and decoding 约束。不幸的是,对于您的 URL,在此编码方案中,+ 表示文字空间。您可以自己通过encoding URL 来解决此问题,以便浏览器知道您的参数中有文字+ 符号应该保留,例如:

<a target="_blank" href="./PageOne.aspx?Customer=NAME1+%2b+NAME2+%2b+NAME3+PARA+TEST">

【讨论】:

【参考方案2】:

在 URL 中尝试 Url 解码 - 更多信息在这里 - HttpServerUtility.UrlDecode Method (String)

【讨论】:

以上是关于更改 QueryString 的值的主要内容,如果未能解决你的问题,请参考以下文章

用querystring中的值预填充窗体

一行代码提取url中querystring的某个key的值

增加QueryString最大长度[重复]

Node.js——querystring模块

Nodejs模块之Querystring模块

Request对象中QueryString方法的如何运用