我对 Sitefinity 5.1 有点陌生,只是为了提前说明这一点。我创建了一个自定义内容类型并为其赋予了一些属性。我正在尝试创建一个用户控件,该控件获取此内容类型的每个项目并在面板中显示一些属性。我正在寻找的是如何直接与这个集合进行交互。
谢谢。
我对 Sitefinity 5.1 有点陌生,只是为了提前说明这一点。我创建了一个自定义内容类型并为其赋予了一些属性。我正在尝试创建一个用户控件,该控件获取此内容类型的每个项目并在面板中显示一些属性。我正在寻找的是如何直接与这个集合进行交互。
谢谢。
如果您转到模块设置,右侧有一个“代码参考”链接,这里有完整的代码示例,您可以复制和粘贴这些示例以与动态模块数据进行交互。
它向您展示了如何检索集合,然后您可以从那里简单地迭代该集合,并使用 GetValue() 扩展方法获取值。
希望这可以帮助!
您可以尝试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)
希望这可以帮助!