0

我正在尝试获取完全合格的网址,这是代码

string path = string.Format("/sitecore/shell/Applications/Content%20Manager/default.aspx?id={0}&la={1}&fo={0}", contentItem.ID, contentItem.Language);

        string fullPath = Sitecore.Web.WebUtil.GetFullUrl(path);
        text = text.Replace("$itemUrl$", fullPath);

这会返回类似http://cp.localsite/sitecore/shell/Applications/Content%20Manager/default.aspx?id= {DC6B4AE0-929D-4F19-97F4-825796A30781}&la=en&fo={DC6B4AE0-929D-4F19 -97F4-825796A30781} 这就像一个链接,直到 ?id= 从 id 生成,它看起来像一个普通的文本。我该如何解决这个问题。我想要内容的可点击网址。我真的很感激任何帮助。

谢谢。

4

1 回答 1

0

您能否就您要实现的目标提供更多背景信息。所描述的行为是正确的,但这显然不是您希望实现的。

更新:

看起来你走在正确的轨道上,我唯一注意到的是,你真的可以只使用 fo 查询字符串来找到正确的项目,你也可以使用这里提到的其他项目自定义电子邮件通知与链接 - sitecore更具体。

由于在 id= 处截断 url 的原因是文本解析器可能不喜欢花括号 - 尝试对 URL 进行编码,看看是否有效。

text = HttpUtility.UrlEncode(text);
于 2014-10-16T16:42:46.997 回答