使用DTO作为视图的模型

时间:2010-01-12 11:19:25

标签: asp.net-mvc dto

如果您在ASP.NET MVC视图的顶部看到:

<% var dto = (MyDto)Model; %>

......出了什么问题?对我来说感觉不对......

2 个答案:

答案 0 :(得分:6)

对于强类型视图,您不需要以这种方式转换类型。如果视图继承自ViewPage<MyDto>,则Model属性的类型为MyDto

如果视图没有强类型,那么Model属性的类型为object,因此您需要将其强制转换。

在这种情况下使用强类型视图是有意义的

答案 1 :(得分:2)

问题是:将DTO对象存储为View的模型是否合适? 我的答案是:这取决于。 DTO应该只有一个行为:存储数据。因此,当您使用DTO对象仅在View上显示它时,那就没关系。

View Model旨在存储包含多个行为的更多合并对象,但存储DTO没有错误。