我對asp.net mvc技術很陌生,並且對如何呈現視圖有疑問。在我的項目中,我需要從數據庫中檢索XML文件(XML字符串)。得到這個XML字符串後,我將xml反序列化爲一個對象,比如我已經定義的LogMessage。一旦我有了這樣一個LogMessage對象,我想通過一個視圖向用戶顯示它的內容。此外,我需要處理一些LogMessage屬性,然後將其顯示給用戶。例如,(1)LogMessage對象中有一個logTime屬性,它是utc格式的,我需要將它轉換爲本地時間,(2)有一個logCode屬性,格式爲int number( 1,2,3等),我需要將每個數字轉換爲有意義的名稱,例如eventStart,eventEnd等。Asp.net mvc數據模型或視圖模型
現在我腦海中想到的是我創建了一個強類型視圖(LogMessage類型)在asp.net mvc3中,這樣我就可以用Razor渲染視圖。此外,我還在同一個視圖文件中提供了所有必要的功能(例如,將utc時間轉換爲本地時間,將代碼號映射爲其有意義的名稱等),並在渲染視圖時調用它們。
但我不知道應該按照上述方法來做還是我應該創建另一個視圖模型,比如說LogMessageViewModel(因爲我認爲LogMessage實際上是我的數據模型?)。然後,一旦獲得了LogMessage對象,我就可以創建LogMessageViewModel(並且LogMesageViewModel與LogMessage看起來非常相似),並使用LogMessage初始化LogMessageViewModel,並在Controller或Model中執行所有必需的轉換,而不是在View中執行。然後,現在我在LogMessageViewModel中爲視圖提供了所有正確的信息,並創建LogMessageViewModel的強類型視圖,並簡單地呈現視圖並向用戶顯示其內容。
任何人都可以給我一些關於這兩種不同方法的建議,或者還有其他更好的方法嗎?