0
例子是假的。MVC:在哪个组件中详细说明了数据展示的细节?
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解决方案,但似乎有点矫枉过正。
有什么建议吗?
我喜欢,我喜欢。然后将'StudentViewModel'暴露为'Model'的属性?什么时候创建了“StudentViewModel”?它住在哪里? – 2010-09-23 03:02:50
是的,但我仍然称它为“学生”,视图模型是在它使用前的任何地方创建的......通常如果我像这样装饰我去看(新的ViewModel(realModel))类的东西(可能是更多的参与)有像http://automapper.codeplex.com/和类似的东西来帮助这些事情中的一些,取决于你需要多久执行一次,以及你的对象有多复杂 – 2010-09-23 03:07:22
你处理日期格式的方式相同吗? – 2010-09-23 03:12:02