【问题标题】:Using a DTO as the model for a view使用 DTO 作为视图的模型
【发布时间】:2010-01-12 11:19:24
【问题描述】:

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

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

...有什么问题吗?我感觉不太对劲……

【问题讨论】:

    标签: asp.net-mvc dto


    【解决方案1】:

    对于强类型视图,您不需要以这种方式强制转换类型。如果视图继承自 ViewPage&lt;MyDto&gt;,则 Model 属性将是 MyDto 类型。

    如果视图不是强类型,则 Model 属性的类型为 object,因此您需要对其进行强制转换。

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

    【讨论】:

      【解决方案2】:

      问题是:存储DTO对象作为View的模型好不好? 我的回答是:视情况而定。 DTO 应该只有一种行为:存储数据。因此,当您使用 DTO 对象仅在 View 上显示它时:就可以了。

      View Model 旨在存储更多包含多种行为的编译对象,但存储 DTO 并没有错。

      【讨论】:

      • 当发送到视图的对象需要更复杂的功能时,你能举个例子吗?
      • 例如:一些 ActiveRecord 对象
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 2021-06-30
      • 2012-02-12
      • 2011-07-16
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多