【问题标题】:MOSS Filter webpart not working with & symbol in the query stringMOSS 过滤器 webpart 不能在查询字符串中使用 & 符号
【发布时间】:2011-02-10 12:56:33
【问题描述】:

我知道这是一个相当常见的 URL 编码错误。我怀疑的问题是 MOSS Filter webpart 用于根据从 Filter webpart 传递给它的 querystring 参数来过滤 dataview webparts 结果。

当查询字符串包含 &(和号)符号时,dataview webpart 无法显示任何结果,但显示任何错误。

当我用 %26 替换下面查询字符串中的 & 时,我得到一个异常'输入字符串格式不正确'

http://localhost/subsite/Pages/Test.aspx?SS=Test%20Governance%20&%20Directors 未导致错误,但传递给数据视图 Web 部件的过滤器 (SS) 未显示任何结果。

http://localhost/subsite/Pages/Test.aspx?SS=Test%20Governance%20%26%20Directors 将 & 替换为 %26 会引发异常“输入字符串格式不正确”

我们可以在过滤器 webpart 的查询字符串中使用与号吗?我读过消费者 webpart 将此作为另一个参数传递给它,也许这就是问题所在?虽然我已将过滤器 webpart 配置为仅传递第一个参数。

【问题讨论】:

  • 我对 MOSS 一无所知,但第二个带有 %26 的 URL 绝对是在查询参数中包含 & 符号的正确方法。如果它窒息它,我会把它算作一个错误。有人谈论对这个字符 (?SS=Test%20Governance%20%2526%20Directors) 进行双 URL 编码 — 这对您有什么帮助吗?
  • 感谢 Bob,但双重编码没有产生过滤结果,但也没有导致错误。

标签: c# url moss urlencode url-encoding


【解决方案1】:

默认情况下,SharePoint 会将& 编码为%26,如果未编码,则将& 编码为%26。 还将参数 &useFiltersInViewXml=1 添加到过滤器视图 URL。它应该适合你。

【讨论】:

  • 我不知道第二个“encode & to %26”在做什么。
【解决方案2】:

SP 的查询字符串 URL 过滤器 Web 部件中存在错误。

如果字段类型为“多行文本”且值包含“&”字符,则查询字符串 URL 过滤器将不起作用。即使您将其编码为 %26。

将列类型更改为“单行文本”。看看这是否能神奇地解决您的问题。

【讨论】:

  • 如果要求使 op 使用多个文本行怎么办,
  • 库马尔,好评论。我们无法控制客户的要求。如果字段类型必须是“多行文本”,则 & 字符必须替换为列表中的其他内容。如果让 MS 修复其查询字符串 URL 过滤器 Web 部件错误,则另一个选择是正确支持“多行文本”类型的字段。
【解决方案3】:

对我来说,在 sharepoint 2010 sp1 8 月更新中使用查询字符串 (URL) 过滤器进行了更新,bobince 的双 url 编码对我有用。谢谢 bob,我正在拔头发

【讨论】:

    【解决方案4】:

    好吧,只需要改变 & 到最后......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 1970-01-01
      • 2019-08-21
      • 1970-01-01
      • 2014-09-25
      • 1970-01-01
      相关资源
      最近更新 更多