为什么 Sitecore 似乎会破坏查询字符串中的括号?

Why does Sitecore seem to mangle parentheses in the query string?

我注意到查询字符串中的 Sitecore 和括号有些奇怪。出于某种原因,Sitecore 似乎对查询字符串做了一些奇怪的事情。以下是重现此行为的步骤:

  1. 安装 Sitecore 7.5
  2. 创建一个名为 TestSublayout 的简单子布局
  3. 在 TestSublayout 上添加一个名为 litTest
  4. 的 ASP 文字标签
  5. 在子布局的隐藏代码中,在页面加载事件中添加以下代码:litTest.Text = Request.QueryString.ToString();
  6. 在 Sitecore 中创建一个名为 TestItem 的简单项目并使用示例项目数据模板
  7. 在 TestItem 的演示详细信息中,将 TestSublayout 放在主要占位符中。
  8. 构建 Visual Studio 项目并发布站点。
  9. 打开浏览器并转到 http://example.com/testitem.aspx?selecteditem=surf(x)%203D%20Laminates

出于某种原因,Sitecore 对括号做了一些处理,这就是您在屏幕上看到的内容:

selecteditem=surf&%2340%3bx&%2341%3b+3D+Laminates

我相信 Sitecore 正在做某事的原因是,我在非 Sitecore 项目上尝试了这些完全相同的步骤并且效果很好。括号没有乱码或翻译成任何东西。正如我所期望的那样,它们就在字符串中:

selecteditem=surf(x)%203D%20Laminates

有什么想法吗?

我从 Sitecore 了解到这是一个已知问题,已在 7.2 版中修复,但尚未合并到 7.5 版中。所以他们给了我一个解决问题的补丁。