【问题标题】:I can't get the multinode tree picker from umbraco 4.8我无法从 umbraco 4.8 获取多节点树选择器
【发布时间】:2015-10-19 10:40:23
【问题描述】:

我有这个 XML 结构:

<tagging>
      <MultiNodePicker>
          <nodeId>119683</nodeId>
          <nodeId>119684</nodeId>
      </MultiNodePicker>
  </tagging>

@using umbraco.MacroEngines
@inherits DynamicNodeContext
@
{
    <ul>
    @foreach (var item in Model.tagging)
    {
        var node = Library.NodeById(item.InnerText);
        if (node.Id != 0)
        {
            <li>@node.Name></li>
        }
    }
    </ul>
}     

但是不行,可能是我写错了。

有人吗?

【问题讨论】:

  • 你得到什么错误信息?

标签: xml loops razor umbraco


【解决方案1】:

在我的脑海中,您可能需要将代码更改为以下内容:

@using umbraco.MacroEngines
@inherits DynamicNodeContext
@
{
    <ul>
    @foreach (var item in Model.Tagging.MultiNodePicker)
    {
        var node = Library.NodeById(item.InnerText);
        if (node.Id != 0)
        {
            <li>@node.Name></li>
        }
    }
    </ul>
}

您可能会发现配置 MultiNodePicker 以将节点保存为逗号分隔列表而不是 xml 更容易 - 然后您可以这样做:

@using umbraco.MacroEngines
@inherits DynamicNodeContext
@
{
    <ul>
    @foreach (var item in Model.Tagging)
    {
        var node = Library.NodeById(item);
        if (node.Id != 0)
        {
            <li>@node.Name></li>
        }
    }
    </ul>
}

如果没有其他理由将节点存储为 XML,那么这可能是最简单的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多