首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kentico 10 - DocumentHelper附件URL

Kentico 10 - DocumentHelper附件URL
EN

Stack Overflow用户
提问于 2017-07-26 15:25:43
回答 2查看 929关注 0票数 2

当使用CMS.DocumentEngine.DocumentHelper检索自定义页面类型的文档时,如何获得附加到Direct窗体控件属性类型的图像的路径?

如果以下列方式检索文档/页:

代码语言:javascript
运行
复制
DocumentQuery documents = DocumentHelper.GetDocuments("Custom.PageType")
   .Path("/some-path", PathTypeEnum.Children)
   .OnCurrentSite()
   .Culture("en-us")
   .Published()
   .Page(page, size);

然后循环遍历检索到的文档到自定义类进行项目:

代码语言:javascript
运行
复制
foreach(var document in documents) {
    Foo foo = new Foo(document.getStringValue("SomeCustomColumnName", ""));
    foos.add(foo);
}

使用针对自定义页面类型的Direct字段/属性的getStringValue()返回一个文档GUID,如"123456f-5fa9-4f64-8f4b-75c52db096d5"

在转换中,我可以使用GetFileUrl() (如GetFileUrl("AttachmentColumnName") )获取路径,在使用检索到的文档时,如何在ASPX代码中使用该路径?

自定义页面类型数据通过ASMX服务和Ajax提供给客户端。返回的JSON数据用于生成/追加页面标记,包括一个<img />

感谢您能提供的任何帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-26 15:34:27

您可以在项目模板中尝试这样的操作:

代码语言:javascript
运行
复制
/CMSPages/GetFile.aspx?guid=<%# Eval("SomeCustomColumnName")%>

您也可以在生成该链接之前检查SomeCustomColumnName是否为空,如果您不希望出现损坏的映像。

另一种选择是将该文件上载转换为URL选择器,并允许用户将文件上载到媒体库。这可能是国际水文学组织更好的做法。

票数 2
EN

Stack Overflow用户

发布于 2018-09-13 19:00:24

我花了几个小时才弄明白。

在我的例子中,我能够使用以下方法获得图像URL:

代码语言:javascript
运行
复制
Guid pageGuid = ValidationHelper.GetGuid(this.GetValue("ProductPage"), new Guid());

// Creates a new instance of the Tree provider
TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser);

CMS.DocumentEngine.TreeNode doc = DocumentHelper.GetDocuments()
    .Where(d => d.NodeGUID == pageGuid)
    .FirstOrDefault();

CMS.DocumentEngine.TreeNode pageNode = tree
    .SelectNodes()
    .WithGuid(doc.DocumentGUID)
    .OnCurrentSite()

var document = DocumentHelper.GetDocument(pageNode, tree);
Guid imageGuid = document.GetGuidValue("ImageProperty", new Guid());
DocumentHelper.GetAttachmentUrl(imageGuid, 0);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45331310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档