代码之家  ›  专栏  ›  技术社区  ›  THX-1138

MVC:在哪个组件中指定了数据表示的详细信息?

  •  0
  • THX-1138  · 技术社区  · 14 年前

    这个例子是假的。

    ASP.NET MVC:我有一个呈现学生信息的视图。学生信息包括名字、姓氏和(可选)年龄(声明为 int? )

    学生信息的呈现方式如下:如果未指定年龄,我希望显示“未指定”:

    <span><%= Model.Student.FirstName %></span>
    <span><%= Model.Student.LastName %></span>
    <span><%= Model.Student.Age.HasValue ? Model.Student.Age.ToString() : "not specified" %></span>
    

    我对上面的文本的问题是,它使视图太复杂(对于我的网页设计师来说,修改它太复杂)。

    问题: 我可以在哪里做出决定?

    1. 财产 Student 模型的是业务对象,不应包含渲染的细节。
    2. 我应该在模型中添加一个方法吗? Model.GetAgeAsText(Student student) ?但最后我得到了大量松散地挂在模型上的方法,这些方法都在哭着要被分组成一些东西……但是什么呢?
    3. 我可以创建自定义控件 StudentAgeShower ,这似乎是最正确的OO解决方案,但似乎有点过头了。

    有什么建议吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Keith Nicholas    14 年前