Razor 在Umbraco中访问/显示链接文档类型的属性

Razor 在Umbraco中访问/显示链接文档类型的属性,razor,umbraco,Razor,Umbraco,我对Umbraco比较陌生,但使用一个有点做作的宠物项目,我在陡峭的倾斜曲线上取得了很好的进展 我的宠物项目是一个“简单”的杂志数据库,它将存储我每月订阅的详细信息,包括其中的文章。希望(完成后)我能够搜索数据库,以确定某篇文章的发行版本,而不是手工搜索 我的问题是,我想包括封面光盘的详细信息,并在杂志的详细页面上显示摘要信息。我已经为封面光盘创建了一个文档类型,并在杂志文档类型中添加了一个“coverDisc”属性,该属性是通过内容选择器设置的。杂志的制作/编辑工作进展顺利,我可以联想到我已经

我对Umbraco比较陌生,但使用一个有点做作的宠物项目,我在陡峭的倾斜曲线上取得了很好的进展

我的宠物项目是一个“简单”的杂志数据库,它将存储我每月订阅的详细信息,包括其中的文章。希望(完成后)我能够搜索数据库,以确定某篇文章的发行版本,而不是手工搜索

我的问题是,我想包括封面光盘的详细信息,并在杂志的详细页面上显示摘要信息。我已经为封面光盘创建了一个文档类型,并在杂志文档类型中添加了一个“coverDisc”属性,该属性是通过内容选择器设置的。杂志的制作/编辑工作进展顺利,我可以联想到我已经制作的封面光盘

当我谈到模板时,这就是我遇到的问题——如何从@Model访问我可用的封面光盘?我在谷歌上搜索了很长一段时间,但似乎只找到了解决模糊相似问题的XSLT解决方案

我使用的是当前版本的Umbraco(4.9.1),目前我在Umbraco环境中工作,而不是在visualstudio中工作(尽管我最终希望在那里结束)

感谢您的指点。

请查看我的答案,以获得您问题的答案以及一些学习翁布拉科剃须刀的好资源

基本上,您将执行以下操作:

dynamic node = Library.NodeById(Model.coverDisc);
…要访问链接的封面光盘节点,然后以与在模型上相同的方式访问属性,请执行以下操作:

@node.Name

我确实有一些非常接近这一点的东西(使用var而不是dynamic),但这不起作用-我只是收到一个错误,说“加载宏引擎脚本(文件:)时出错”。看起来这是因为其中一本杂志没有分配封面磁盘,尽管我在打印属性之前做了空检查。你知道我哪里出错了吗?当模型分配了一张封面光盘时,你的代码确实有效,所以谢谢你确认我没有发疯;-)排序我的空检查-需要这样做:if(item.HasValue(“coverDisc”){node=Library.NodeById(item.coverDisc);}