Using .Where() to find children with a certain datepicker value
I'm currently rewriting an XSLT macro to display child nodes of the current page, depending on what querystring variables are set for 'month' and 'year'. This is used for a news listings page which displays articles for a certain period.
In the old macro, I am looping through and selecting nodes where the month part of the "newsDate" property (which is a datepicker field) and assigning them to the nodelist variable. $Displaymonth is gathered from querystring.
The debug errors mostly complain that there is no property "month" inside my newsDate variable. Either that or "No property or field date exists in type 'Func`2'". It seems to be treating my Datepicker property as a string whatever I do, as described here but I am using the latest version of umbraco.
How can I find children by converting the month/year of a datepicker property and comparing that to a variable? How can I even get this date property and extract the month/year, while inside a .Where statement?
CS1977: Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type
Using .Where() to find children with a certain datepicker value
I'm currently rewriting an XSLT macro to display child nodes of the current page, depending on what querystring variables are set for 'month' and 'year'. This is used for a news listings page which displays articles for a certain period.
In the old macro, I am looping through and selecting nodes where the month part of the "newsDate" property (which is a datepicker field) and assigning them to the nodelist variable. $Displaymonth is gathered from querystring.
I am having trouble creating a similar list of nodes using razor syntax. Assuming the querystring month is August, I have tried things like
The debug errors mostly complain that there is no property "month" inside my newsDate variable. Either that or "No property or field date exists in type 'Func`2'". It seems to be treating my Datepicker property as a string whatever I do, as described here but I am using the latest version of umbraco.
How can I find children by converting the month/year of a datepicker property and comparing that to a variable? How can I even get this date property and extract the month/year, while inside a .Where statement?
Could you try this?
Model.Children.Where(i=>Convert.ToDateTime(i.GetProperty("newsDate").Value).Month==8))
-Rajeev
CS1977: Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type
Sorry, I just haven't tried that. That won't work. :(.
You can try using if condition like you are doing in XSLT. There may be better ways for doing this. I couldn't ge this work with Where. :(
var [email protected];
foreach(var item in list)
{
if(Convert.ToDateTime(item.GetProperty("newsDate").Value).Month.ToString()=="8")
{
@item.Name
}
}
you may get better answers from experts here.
-Rajeev
is working on a reply...