Mit Razor LINQ .Wo (in) zu finden umbraco-Knoten mit einem bestimmten Datum Wert

Ich bin derzeit umschreiben eines XSLT-makro zur Anzeige von untergeordneten Knoten des aktuellen Seite, je nachdem, was querystring-Variablen festgelegt werden, für 'Monat' und 'Jahr'. Dies ist für eine news-Liste Seite zeigt Artikel für einen bestimmten Zeitraum.

In der alten makro, ich bin Durchlaufen und auswählen von Knoten, wo der Monat Teil der "newsDate" - Eigenschaft (die ist ein datepicker-Feld) und Zuordnung zu den nodelist-variable. $Displaymonth gesammelt vom querystring.

<xsl:for-each select="$currentPage/*[@isDoc]">
          <xsl:sort order="descending" select="newsDate" data-type="text"/>
          <xsl:if test="umbraco.library:FormatDateTime(newsDate, '%M') = $displayMonth">
            <xsl:copy-of select="." />
          </xsl:if>
</xsl:for-each>

Ich habe Probleme beim erstellen einer ähnlichen Liste von Knoten, die mit razor-syntax. Vorausgesetzt, die querystring-Monat ist der August, ich habe versucht, Dinge wie

Model.Children.Where(umbraco.library.FormatDateTime(newsDate,'M') + " == 8");
Model.Children.Where("Convert.ToDateTime(newsDate).Month == \"8\"");
Model.Children.Where("newsDate.Month == \"8\"");
Model.Children.Where("newsDate.Value.Month == \"8\"");
Model.Children.Where(i=>Convert.ToDateTime(i.GetProperty("newsDate").Value).Month==8))

Den debug-Fehler meistens beschweren sich, dass es keine Eigenschaft "Monat" in meinem newsDate variable. Entweder das, oder "Keine Eigenschaft oder das Feld date besteht in der Art 'Func`2'". Es scheint die Behandlung meiner Datepicker-Eigenschaft als string, was auch immer ich tun, wie beschrieben hier, aber ich bin mit der neuesten version von umbraco.

Wie finde ich Kinder, die durch Umwandlung der Monat/das Jahr der datepicker-Eigenschaft (ein DateTime-Objekt in Umbraco) und einen Vergleich zu einer Variablen? Wie kann ich selbst bekomme diese date-Eigenschaft, und extrahieren Sie den Monat/Jahr, während im inneren ein .Where-Anweisung?

Where akzeptiert ein lambda-Ausdruck also du verwendest eine falsche syntax. Schauen Sie es sich.
Es gibt auch keine DatePicker Datentyp in C# so ich habe keine Ahnung, was newDate ist und kann es nicht geben Sie ein Beispiel.
umbraco.com/follow-us/blog-archive/2011/3/1/... - "Mit DynamicObject (DynamicNode auch, denn Sie erbt von), der c# - compiler / razor-parser ermöglicht es Ihnen nicht um die vertraute lambda-syntax zu filtern setzt. Das ist, weil wir jetzt wieder ein DynamicObject [DynamicNodeList] erlauben die Verkettung von Methoden."
Datepicker ist nur ein DateTime-Objekt mit einem eingebetteten Kalender-Steuerelement innerhalb des CMS

InformationsquelleAutor giles | 2011-08-05

Schreibe einen Kommentar