Ich muss überprüfen, ob Inhaltsbereich leer ist, aber ich bekomme Fehler "Objekt Referenz nicht auf eine Instanz eingestellt", das ist mein Seitencontroller Ich habe auch currentPage.TabContentArea.IsEmpty
versucht, immer noch gleichen Fehler. Der Inhaltsbereich ist leer, dies ist das erste Mal, dass ich versuche, es auszuführen, also muss ich prüfen, ob es leer ist, bevor ich den Code innerhalb der if-Anweisung ausführe.Episerver überprüfen, ob Inhaltsbereich leer ist
public class StandardPageController : PageController<StandardPage>
{
// GET: StandardPage
public ActionResult Index(StandardPage currentPage)
{
// this collection should be used in foreach loops
var tabItems = new List<TabViewModel>();
//this is where I get error
if(currentPage.TabContentArea.FilteredItems.Any())
{
var contentAreaItems = currentPage.TabContentArea.FilteredItems.ToList();
var contentLoader = ServiceLocator.Current.GetInstance<IContentLoader>();
foreach (var contentAreaItem in contentAreaItems)
{
// get an instance of Tab Block
// If you didn't set any restrictions, ContentArea can contain anything.
// We need to check if blockData is of type PageTab
var blockData = contentLoader.Get<PageTab>(contentAreaItem.ContentLink);
if (blockData == null) continue;
tabItems.Add(new TabViewModel
{
Id = Guid.NewGuid(),
Title = blockData.TabTitle,
Text = blockData.TabContent
});
}
ViewBag.items = tabItems;
}
return View(); // Should I return tabitems here ?
}
}
Das war die richtige Lösung, danke! :) – perkes456