3

Umbraco の順序なしリストを作成する方法が見つかりません。

前値を取得できますが、フロントエンドでリストとして出力できません。

これまでの私のコードは次のとおりです。

  var myValues = umbraco.library.GetPreValues(12080);
  <ul>
   @foreach(var c in myValues){
      <li><a href="@baseNode.Url?category=@c">@c</a></li>                      
     }

 </ul>

私は値を1つとして取り戻しています

  • アイテムですが、分割されていません。foreach の myValues に .Split() を追加しようとしたところ、エラーが発生しました。何か不足していますか?

    前もって感謝します。

  • 4

    1 に答える 1

    7

    これumbraco.library.GetPrevalues(int id)は、XPathNodeIterator単純に値を反復処理するだけでは不十分なためです。Umbraco Wiki では、前値を反復して選択する方法の優れた例を見つけることができますXPathNodeIterator。Razor のコンテキストに合わせて書き直しました。

    @using System.Xml.XPath
    @using umbraco.MacroEngines
    @inherits DynamicNodeContext
    @try
    {
        var baseNode = Model.AncestorOrSelf();
    
        XPathNodeIterator iterator = umbraco.library.GetPreValues(1094);
        iterator.MoveNext(); //move to first
        XPathNodeIterator preValues = iterator.Current.SelectChildren("preValue", "");
    
        @preValues.Count
    
        <ul>
        @while (preValues.MoveNext())
        {
            string preValue = preValues.Current.Value;
    
            <li><a href="@baseNode.Url?category=@preValue">@preValue</a></li>                      
        }
        </ul>
    }
    catch (Exception e)
    {
        @e.ToString()   
    }
    
    于 2012-06-23T02:27:42.667 に答える