如果您在 ASP.NET MVC 视图的顶部看到:
<% var dto = (MyDto)Model; %>
……有事吗?我感觉不太对...
对于强类型视图,您不需要以这种方式强制转换类型。如果视图继承自然ViewPage<MyDto>
后 Model 属性将是 type MyDto
。
如果视图不是强类型的,则 Model 属性是类型的object
,因此您需要对其进行强制转换。
在这种情况下使用强类型视图是有意义的
问题是:将 DTO 对象存储为 View 的模型好不好?我的回答是:视情况而定。DTO 应该只有一种行为:存储数据。因此,当您仅使用 DTO 对象在 View: 上显示它时,就可以了。
View Model 旨在存储包含多种行为的更复杂的对象,但存储 DTO 并没有错。