在asp.net中将值从一个页面发送到另一个页面时,字符会被修剪

Characters get trimmed when sending values from one page to another in asp.net

本文关键字:另一个 修剪 字符 一个 net asp      更新时间:2023-09-26

我正在使用javascript从一个页面发送一些值到另一个asp.net。我在父页面中声明了JS,值被发送到子页面,并使用Request.Querystring在页面后面的代码中获取。看我之前的问题

为您提供详细的查看,请参见下面的示例

chStatusReport.Attributes.Add("onclick", "javascript:return Navigate( '" + varTrimmed+ "' );");

JS打开子页面在

<script type="text/javascript" language="javascript">
        function Navigate(status) {
        window.open("ChildPage.aspx?status=" + status)
        return false;
        }
    </script>

从父页到子页获取值的代码。

 if (Request.QueryString.Count!=0)
 { svar1= Request.QueryString["status"];
   }

传递的值像1)Tom &彼得·劳伦斯&;哈代

我得到的值是1)汤姆2)劳伦斯

为什么要修剪剩余的文本?

你真的通过了Tom & Peter吗?即ChildPage.aspx?status=Tom & Peter ?

如果是,那么查询字符串将包含:

QueryString["Status"] with Tom and QueryString["Peter"].

&是查询字符串中值对之间的分隔符。

您需要对URI进行URL编码。看一下JavaScript encodeuriccomponent

不能使用&直接在querystring中。

您必须编码或更改&手动转换为另一个unicode并将其翻译回来。

这里有一个解释链接。

http://www.kamath.com/codelibrary/cl006_url.asp