c# - 在 asp.net 中将值从一个页面发送到另一个页面时,字符会被 trim

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

我正在使用 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

为什么剩余的文本被 trim ?

最佳答案

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

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

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

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

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

关于c# - 在 asp.net 中将值从一个页面发送到另一个页面时,字符会被 trim ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7509970/

相关文章:

c# - 响应.写入标签

c# - 在两个枚举值之间交替

javascript - jquery 在第一次点击时无法正常工作,但在 fiddle 中它确实如此

c# - .NET Double.TryParse(num, format, cultureinfo, out) 错误

c# - 我们如何在#中检查一个数组是否包含另一个数组的一个或多个元素?

c# - CultureInfo 名称的常量

c# - 使用 Selenium 在页面的 onload() 中生成的 JavaScript 警报的解决方法是什么?

c# - 委托(delegate)程序

javascript - 从外部 Controller 调用 Angular JS

javascript - 对具有多个实例的每个单个元素的 jQuery 操作