MVC 4项目中基本模型的最佳实践是什么?

时间:2012-12-22 11:01:36

标签: c# architecture model asp.net-mvc-4

我正在开始一个新的MVC项目,并且可以肯定地知道每个视图都需要下一个项目:用户语言,时区和几个用户设置,这些设置都指向城市,国家等。所以,我将建立一些基本实体把这个属性。但是一些视图将是PagedList的类型(来自opensource MvcPaging库的类)。而且我不确定如何在一个对象中组合Base模型和PagedList? 我感谢接口,但我读到它更复杂,而不是使用类。

1 个答案:

答案 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

但实际上你的问题很明确,并且很难根据你迄今提供的信息指引你正确的方向。