ViewDataFactory und stark typisierte Masterseiten
Ich versuche, meine stark typisierte Masterseite in meiner ASP MVC 2.0-Anwendung zum Laufen zu bringen. Mit Hilfe dieser beiden Beiträge bin ich weit gekommen:
Übergeben von Daten an die Masterseite in ASP.NET MVC
Stark typisierte ASP.Net MVC-Masterseiten
Das Problem ist, dass ich nicht sicher bin, wie ich den ViewDataFactory-Code zum Laufen bringen kann. Das ist mein Code:
BaseController.cs
public class BaseController : Controller
{
private IPageRepository _repPage;
public BaseController(IPageRepository repPage)
{
_repPage = repPage;
}
protected T CreateViewData<T>() where T : MasterViewData, new()
{
IViewDataFactory factory = new ViewDataFactory();
IEnumerable<Page> pages = _repPage.GetAllPages();
return factory.Create<T>(pages);
}
}
HomeController.cs
public class HomeController : BaseController
{
public ActionResult Index()
{
HomeViewData viewData = CreateViewData<HomeViewData>();
viewData.Name = "Test";
return View("Index", viewData);
}
public ActionResult About()
{
return View();
}
}
ViewDataFactory.cs
public interface IViewDataFactory
{
T Create<T>(IEnumerable<Page> pages) where T : MasterViewData, new()
}
public class ViewDataFactory : IViewDataFactory
{
public ViewDataFactory()
{
}
}
HomeViewData.cs
public class HomeViewData : MasterViewData
{
public string Name { get; set; }
}
MasterViewData
public class MasterViewData
{
public IEnumerable<Page> Pages { get; set; }
}
Beim Erstellen der Lösung wird der folgende Buildfehler angezeigt:
"; expected" in ViewDataFactory.cs
Was auf das Code-Snippet zeigt:
T Create<T>(IEnumerable<Page> pages) where T : MasterViewData, new()
Ich vermisse etwas Wesentliches, ich bin neu in diesem und jede Hilfe wäre dankbar!