如何在从代码隐藏创建的新页面上设置内部快捷方式?
斯蒂格
我相信这样的事情应该有效:
int shortcutId = ...;
newPage.LinkType = PageShortcutType.Shortcut;
newPage.Property["PageShortcutLink"].Value = new PageReference(shortcutId);
您必须调用 CreateWritableClone 方法,因为属性 PageShortcutLink 是只读的
这是我的代码:
PageReference prtest = new PageReference(21602);
PageReference prlinked = new PageReference(21603);
PageData pdtest = DataFactory.Instance.GetPage(prtest);
PageData pdClone = pdtest.CreateWritableClone();
pdClone.LinkType = PageShortcutType.Shortcut;
pdClone.Property["PageShortcutLink"].Value = prlinked;
DataFactory.Instance.Save(pdClone, SaveAction.Publish);
下一个代码为我完成了这项工作(但它适用于外部链接):
if (!string.IsNullOrEmpty(release.link))
{
page.LinkType = PageShortcutType.External;
page.LinkURL = release.link;
}
实际上,我需要设置一个外部链接 url 并尝试输入如下内容:
page.Property["PageExternalUrl"].Value = "https://somethingnotsimpleaddress.com";
但是后来我遇到了一个例外,即无法将“simpleaddress”设置为属性。这就是我改用“LinkUrl”的原因。