我正在开始一个新的MVC项目,并且可以肯定地知道每个视图都需要下一个项目:用户语言,时区和几个用户设置,这些设置都指向城市,国家等。所以,我将建立一些基本实体把这个属性。但是一些视图将是PagedList的类型(来自opensource MvcPaging库的类)。而且我不确定如何在一个对象中组合Base模型和PagedList? 我感谢接口,但我读到它更复杂,而不是使用类。
答案 0 :(得分:1)
听起来你应该研究一下继承:
public class BaseModel
{
public string UserLanguage { get; set; }
...
}
public class SomePageModel : BaseModel
{
public int Id { get; set; }
public PagedList<Whatever> PagedStuff { get; set; }
...
}
在这种情况下,SomePageModel
会继承BaseModel
的所有属性。您不需要将PagedList用作模型。您可以使用SomePageModel作为视图的模型,该视图位于PagedList内。在这种情况下,您将在视图中写道:
@model [namespace].SomePageModel
//to access paged stuff:
@Model.PagedStuff
但实际上你的问题很明确,并且很难根据你迄今提供的信息指引你正确的方向。