【问题标题】:2sxc DNN - How to get name of content type field in cshtml?2sxc DNN - 如何在 cshtml 中获取内容类型字段的名称?
【发布时间】:2018-04-11 14:51:44
【问题描述】:

我正在开发 2sxc 应用程序,该应用程序将用于多种语言。有很多内容类型字段具有标签(名称)和值(内容)。我知道如何为值(内容)使用多语言选项,而且效果很好。 我想知道是否有任何方法可以翻译 Razor 视图中内容类型字段的标签。可以选择使用 2sxc 后端翻译该名称,但我无法找到如何在我的视图(cshtml 文件)中编写该名称的方法。

【问题讨论】:

    标签: dotnetnuke 2sxc


    【解决方案1】:

    最好的方法是检查类型。所以基本上每个实体在使用AsEntity(...).Type 时都会为您提供一个类型对象。这具有AttributeDefinition 类型的属性,该属性具有Name(正式名称)和元数据。

    对于您想要做的,您是否要选择正确名称的属性,然后在元数据中查找将为您提供翻译名称的项目。这有点复杂,但直截了当。

    这里是伪代码:

    function getTranslatedName(IEntity entity, string field)
    {
      var attribs = entity.Attributes.First(a => a.Name == field);
      var basicMeta = attrib.Metadata
                .FirstOrDefault(d => d.Type.StaticName == "@All");
      return basicMeta?.GetBestValue("Name");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-27
      • 2012-05-15
      • 1970-01-01
      相关资源
      最近更新 更多