Ich bin relativ neu zu Asp und habe dieses dumme Problem, das die ganze Zeit Null zurückgibt. Hier ist meine Funktion, die ich denke, ist ziemlich einfach. Ich habe Steven Sandersons Buch gelesen, das sehr hilfreich war. Wie auch immer, hier ist meine Funktion, die ich System.NullReferenceException danachÜbergeben eines Objekts in eine Klasse mit ASP MVC. Neuling!
public ActionResult Menu(string page)
{
Func<Pages, NavLink> makeLink = parentPage => new NavLink
{
Text = parentPage.PageTitle ?? "Home",
RouteValues = new RouteValueDictionary(new
{
controller = "Pages",
action = "List",
}),
IsSelected = (parentPage.PageTitle == page),
IsFirst = (parentPage.PageOrder == 1)
};
List<NavLink> navlinks = new List<NavLink>();
navlinks.Add(makeLink(null));
foreach (var parent in pagesRepository.Pages.Where(x => x.PageParent == 0).OrderBy(x => x.PageOrder))
{
navlinks.Add(makeLink(parent));
}
return View(navlinks);
}
Die obige Funktion erzeugt den folgenden Fehler erklären: Objektverweis nicht auf eine Instanz eines Objekts festgelegt.
Wenn ich eine Zeichenfolge anstelle meiner Pages-Klasse überlasse, funktioniert es, jedoch muss ich auf einige Eigenschaften meiner Pages-Klasse zugreifen, um wesentliche Werte zurückzugeben. Die folgende Funktion gibt keinen Fehler zurück
public ActionResult Menu(string page)
{
Func<string, NavLink> makeLink = parentPage => new NavLink
{
Text = parentPage ?? "Home",
RouteValues = new RouteValueDictionary(new
{
controller = "Pages",
action = "List",
}),
IsSelected = (parentPage == page)
};
List<NavLink> navlinks = new List<NavLink>();
navlinks.Add(makeLink(null));
foreach (var parent in pagesRepository.Pages.Where(x => x.PageParent == 0).OrderBy(x => x.PageOrder))
{
navlinks.Add(makeLink(parent.PageTitle));
}
return View(navlinks);
}
Vielen Dank und Ihre Hilfe wird sehr geschätzt werden !!
Cant diesen Fehler glauben. Du bist ein Genie und ein Beweis dafür, warum ich nie spät in der Nacht programmieren sollte! Danke, Dasin! – Tyrone