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