Sitecore链接管理器url编码

Sitecore链接管理器url编码,sitecore,Sitecore,这似乎微不足道,但我无法在网上找到现有答案 我正在使用Sitecore,我已经将其配置为使用项目的显示名称生成其url(使用“useDisplayName”设置) 现在,当我有一个显示名为“Test,with commä”的项目时 我希望Sitecore的LinkManager为我提供一个有效的URL: /nl nl/ContentPage/Test%2C,带通信%C3%A4 但是,它给了我一个URL,其中包含未编码的无效字符: /nl nl/ContentPage/Test,-带commä 现

这似乎微不足道,但我无法在网上找到现有答案

我正在使用Sitecore,我已经将其配置为使用项目的显示名称生成其url(使用“useDisplayName”设置)

现在,当我有一个显示名为“Test,with commä”的项目时 我希望Sitecore的LinkManager为我提供一个有效的URL:

/nl nl/ContentPage/Test%2C,带通信%C3%A4

但是,它给了我一个URL,其中包含未编码的无效字符:

/nl nl/ContentPage/Test,-带commä

现在我知道我可以为特定的字符设置例外,但这不是重点。我希望Sitecore删除任何非法URL字符及其编码的对应字符


是否有一种设置或简单的方法来实现这一点?

不幸的是,Sitecore不支持以您想要的方式对url部分进行编码

encodeNames=“true”
仅告诉Sitecore使用
encodenameplacements
设置中配置的内容

您有两种选择:

  • 请与Sitecore支持部门联系,并告诉他们有关此错误的信息
  • 覆盖
    LinkProvider
    类和编码URL:
  • 公共类CustomLinkProvider:Sitecore.Links.LinkProvider
    {
    公共重写字符串GetItemUrl(项目、UrlOptions)
    {
    var itemUrl=base.GetItemUrl(项目,选项);
    //您的代码用于对url进行编码
    返回itemUrl;
    }
    }
    
    
    My.Assembly.Namespace.CustomLinkProvider,My.Assembly
    
    奇怪的是,默认情况下不支持这种琐碎的东西。。。也许我会联系Sitecore。谢谢你的回答!