尝试在Weblog中发表评论时字符串预期错误结束

时间:2017-03-17 16:17:08

标签: sitecore sitecore7 sitecore7.2 weblog

我正在尝试为使用Weblog Sitecore模块的博客发布评论来解决问题。据我所知,如果博客条目网址包含破折号(即enter image description here),那么我会得到“预期在行[#]”字符串的结尾错误。如果博客条目网址不包含破折号,则评论表单可以正常工作。

<replace mode="on" find="-" replaceWith="_"/>

还尝试用空格替换短划线。这两种解决方案都没有工作,因为我仍然得到错误。

Web.config中是否还有其他设置我可以改变以逃避网址中的破折号?我已经阅读了带有#符号的虚线URL文本,但我希望能够自动执行此操作,而不是让用户返回并重命名所有的博客条目。

以下是错误的屏幕截图供参考:{{3}}

1 个答案:

答案 0 :(得分:3)

我没有体验过Weblog模块,但是对于您所面临的问题,您应该使用#来逃避破折号。请参阅以下代码段:

public string EscapePath(string path)
{
    string[] joints = Regex.Split(path, "/");
    string output = string.Empty;
    for (int index = 0; index < joints.Length; index++)
    {
        string joint = joints[index];
        if (!string.IsNullOrEmpty(joint))
            output += string.Format("#{0}#", joint);

        if (index != joints.Length - 1)
            output += "/";
    }

    return output;
}

参考:https://github.com/WeTeam/WeBlog/issues/52

有关在查询中转义破折号的更多信息,请访问here

<强>更新

您应该在发布评论之前调用此方法以逃避破折号。您也可以从here下载dll并在解决方案中使用它