London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Compare Blocks to BlockProxies

Vote:
0

The EpiServer internally uses a lot of proxies for Blocks and Pages.

In the ContentArea I placed MyBlock. I would like to get blocks from code. I filter them like:

currentPage.MyContentArea.FilteredContents.OfType<MyBlock>()

but I always get empty list cause currentPage.MyContentArea.FilteredContents is collection of {Castle.Proxies.MyBlockProxy}

How to solve it?

#74656
Sep 03, 2013 15:07
Vote:
0

I have just found one possibility to deal with it:

 

var list = new List<MyBlock>();

foreach (var filteredContent in filteredContents)
{
var myBlock = filteredContent as MyBlock;
if (myBlock != null)
{
list.Add(myBlock);
}
}

#74657
Sep 03, 2013 15:17
Vote:
0

Can you make use of .Cast<T>() ?

#74658
Sep 03, 2013 15:37
Vote:
0

Simple and powerful! Thanks

#74659
Sep 03, 2013 15:42
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.