我是MVC的新手并且正在开发MVC 3.有人可以解释在MVC中使用BaseViewModel的优点吗?
答案 0 :(得分:3)
它可以帮助您避免重复代码。例如,在博客上,您可能希望在每个页面上显示标签列表。您可以通过向每个视图模型添加List<Tag>
属性来实现此目的。或者,您可以使用BaseViewModel
属性创建一个List<Tag>
,以保存具有相同属性的视图模型的混乱。
由此:
class HomeViewModel
{
public List<Tag> Tags { get; set; }
}
class PostsViewModel
{
public List<Tag> Tags { get; set; }
}
对此:
abstract class BaseViewModel
{
public List<Tag> Tags { get; set; }
public BaseViewModel()
{
Tags = GetTagsFromSomewhere();
}
}
class HomeViewModel : BaseViewModel { }
class PostsViewModel : BaseViewModel { }
希望这有帮助。