【问题标题】:Characters get trimmed when sending values from one page to another in asp.net在 asp.net 中将值从一页发送到另一页时,字符会被修剪
【发布时间】:2011-09-22 05:34:42
【问题描述】:

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

为了给你一个详细的了解,见下面的例子

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 & Peter 2 ) Laurence & Hardy

我得到的值是 1 ) Tom 2) Laurence

为什么剩余的文本会被修剪?

【问题讨论】:

  • 我相信&amp; 在查询字符串中有特定用法,您必须对其和空格进行编码... URLEncode 和 URLDecode 是您应该查看的内容

标签: c# javascript .net asp.net visual-studio


【解决方案1】:

你真的在传递Tom &amp; Peter吗?即ChildPage.aspx?status=Tom &amp; Peter?

如果是,那么查询字符串将具有:

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

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

您需要对 URI 进行 URL 编码。看看JavaScript encodeURIComponent

【讨论】:

    【解决方案2】:

    您不能在查询字符串中直接使用 &。

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

    这里是解释的链接。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      相关资源
      最近更新 更多