这个例子是假的。
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>
我对上面的文本的问题是,它使视图太复杂(对于我的网页设计师来说,修改它太复杂)。
问题:
我可以在哪里做出决定?
-
财产
Student
模型的是业务对象,不应包含渲染的细节。
-
我应该在模型中添加一个方法吗?
Model.GetAgeAsText(Student student)
?但最后我得到了大量松散地挂在模型上的方法,这些方法都在哭着要被分组成一些东西……但是什么呢?
-
我可以创建自定义控件
StudentAgeShower
,这似乎是最正确的OO解决方案,但似乎有点过头了。
有什么建议吗?