Jeśli chcesz trzymać się dynamicznego obiektu, ty powinien spróbować:
var workList = CurrentPage.work.ToString().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var workCollection = Umbraco.Content(workList);
@foreach (var item in workCollection.Where("productImage != null && productImage != string.Empty").Skip((i - 1) * iterationCount).Take(iterationCount)) { ... }
Osobiście wolę radzić sobie z obiektami silnie typowanymi, więc Rozwiązanie może być:
var workList = CurrentPage.work.ToString().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var workCollection = Umbraco.TypedContent(workList);
@foreach (IPublishedContent item in workCollection.Where(x => x.HasValue("productImage")).Skip((i - 1) * iterationCount).Take(iterationCount)) { ... }
Aby uzyskać więcej informacji, sprawdź: https://our.umbraco.org/documentation/reference/templating/mvc/querying.
Można również sprawdzić pakiet nazywa Umbraco Kluczowe Własności Wartość Konwertery: https://our.umbraco.org/projects/developer-tools/umbraco-core-property-value-converters/ który jest automatycznie pewne wartości konwersji typów danych w łatwo dostępne obiekty/list itd. Np Wartość selektora mediów jest zwracana jako model IPublishedContent i można uzyskać dostęp do jej właściwości bezpośrednio od zwróconej wartości.
Chociaż nie udało mi się znaleźć dokładnego rozwiązania, myślę, że obie koncepcje są poprawne. –
Cieszę się, że to działa! –