1

我对 Sitefinity 5.1 有点陌生,只是为了提前说明这一点。我创建了一个自定义内容类型并为其赋予了一些属性。我正在尝试创建一个用户控件,该控件获取此内容类型的每个项目并在面板中显示一些属性。我正在寻找的是如何直接与这个集合进行交互。

谢谢。

4

2 回答 2

1

如果您转到模块设置,右侧有一个“代码参考”链接,这里有完整的代码示例,您可以复制和粘贴这些示例以与动态模​​块数据进行交互。

它向您展示了如何检索集合,然后您可以从那里简单地迭代该集合,并使用 GetValue() 扩展方法获取值。

您可能还会发现这篇博文很有用:http ://www.sitefinity.com/blogs/joshmorales/posts/josh-morales-blog/2012/01/19/retrieving_data_from_dynamic_modules_using_the_module_builder_api

希望这可以帮助!

于 2012-10-29T00:10:46.600 回答
0

您可以尝试ModuleBuilderManager.GetManager().Provider.GetDynamicModuleTypes()来迭代内容类型。

此外ModuleBuilderManager.GetManager().Provider.GetDynamicModuleFields()将返回内容类型的所有字段,您可以按父级过滤并获得所需的内容。

例如:

var field = ModuleBuilderManager.GetManager().Provider.GetDynamicModuleFields().Where(field => field.ParentTypeId == contentTypeId && field.SpecialType == FieldSpecialType.None && field.Name == fieldName)

希望这可以帮助!

于 2014-06-03T07:22:28.183 回答