【发布时间】:2010-01-01 22:46:38
【问题描述】:
我试图让我的强类型母版页在我的 ASP MVC 2.0 应用程序中工作。 在这两个帖子的帮助下,我走了很远:
Passing data to Master Page in ASP.NET MVC
Strongly Typed ASP.Net MVC Master Pages
问题是我不确定如何让 ViewDataFactory 代码工作,这是我的代码:
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; }
}
主视图数据
public class MasterViewData
{
public IEnumerable<Page> Pages { get; set; }
}
当我构建解决方案时,出现以下构建错误:
"; expected" in ViewDataFactory.cs
哪个指向代码sn-p:
T Create<T>(IEnumerable<Page> pages) where T : MasterViewData, new()
我想我错过了一些重要的东西,我对此很陌生,任何帮助都将不胜感激!
【问题讨论】:
-
我一直在寻找如何在母版页中呈现视图的答案。到目前为止,我发现的所有解决方案看起来像是工程师破解了一个非常必要的问题。我使用 ASP.net MVC 的次数越多,我发现的问题就越多,接下来是什么?
标签: c# asp.net asp.net-mvc asp.net-mvc-2