【问题标题】:How to get the value of a Query String which includes an ampersand &? [duplicate]如何获取包含 & 的查询字符串的值? [复制]
【发布时间】:2016-05-27 09:12:02
【问题描述】:

我需要使用 .net c# 检索部门的查询字符串的值,但由于某些部门名称包含一个“&”,因此一旦读取它就会在 & 之后停止

www.example.co.uk/default.aspx?dept=IM&T

Label1.Text = "The Department is - " + Request.QueryString["dept"];

结果是……

部门是 - IM

如何才能将查询字符串读取为IM&T

【问题讨论】:

  • @PatrickHofman 因为是 asp.net,所以副本不是您设置的那个。编码使用Server.URLEncode 完成,解码在QueryString[] 调用时自动完成
  • 嗨@PatrickHofman - 我已经尝试过你的建议 - Label3.Text = Server.UrlEncode(Request.QueryString["Dept"]);但它仍然有同样的问题,并在它击中 & 时立即停止。您链接的问题似乎对我的问题没有帮助......因为我从一个带有项目网格视图的页面链接并将带有查询字符串的 id 传递到另一个页面,显示所选项目的部门细分我无法将查询字符串中的 & 更改为 %26。
  • 我已经设法解决了这个问题 - 我将部门集作为查询字符串我使用了 replace 方法将 & 替换为 %26 这然后允许 gridview 读取查询字符串参数。

标签: c# asp.net request.querystring


【解决方案1】:

escaping ampersand in url

要使用“&”作为 URL 查询字符串,只需将其更改为 %26 percent-encoding。 & 用于 HTML 编码。

【讨论】:

  • 不需要链接重复的,只需将问题标记为重复即可。
  • 哲也:如果我能给你10票,我会的!它就像一个魅力!
【解决方案2】:

您需要将查询字符串中的 &(与号)编码为 %26

这是一个有用的工具:http://meyerweb.com/eric/tools/dencoder/

还有一个关于何时逃跑的规则的好帖子:

What characters must be escaped in an HTTP query string?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2013-03-25
    相关资源
    最近更新 更多