1

我正在开始一个新的 MVC 项目,并且众所周知,每个视图都需要下一个项目:用户语言、时区和一些涉及城市、国家/地区等的用户设置。因此,我将创建一些基本实体来放置它特性。但是某些视图将是 PagedList 的类型(来自开源 MvcPaging 库的类)。而且我不确定如何将 Base 模型和 PagedList 组合在一个对象中?我感谢接口,但我读到它比使用类更复杂。

4

1 回答 1

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

但实际上,您的问题很幸运,并且很难根据您迄今为止提供的信息将您引导到正确的方向。

于 2012-12-22T11:08:47.120 回答