2011-01-23 62 views
3

我對MVC非常陌生,所以我道歉如果我沒有正確解釋我的需求/沒有使用正確的術語。ASP.NET MVC從單個視圖向相關的多個表添加記錄

我有項目詳細實體一個簡單的數據庫。他們有一個一對多的關係,所以Item有很多Details。

我想從單個視圖向這兩個表中添加記錄。

到目前爲止,我的理解是,如果我爲'item'添加一個創建動作,它將在HTTPPost請求中獲得一個'item'對象。那麼這是否意味着我必須爲細節創建單獨的操作/視圖?

或者是'partial-view'我應該在這裏使用?有人可以給我一個例子。真的很感激它。謝謝。

回答

2

這聽起來像你使用強類型的意見,並採取了一些MVC魔力,自動填充中的行動,類型的優勢。我還沒有使用MVC3,但在MVC2中,您可能會使用UpdateModel從formcollection中自動填充您的類型。無論MVC是否爲你做了一些魔術,你總是將視圖中的信息發送到你的控制器(POSTing或者用url字符串獲取) - 你總是可以訪問url字符串或者表單集合原始值。

這就是說,你可能想創建一個ViewModel - 這是一個適合你的視圖需求的模型。在你的情況下,它只是一個複合模型。這個ViewModel,只是一個普通的類。它應該應該就像暴露你的每個類型作爲這個新類的屬性一樣簡單。如果你這樣做,你不會忘記以你的類/屬性爲前綴,如: Model.Item.SomeProperty,Model.Detail.SomeOtherProperty 如果你不這樣做,MVC可能無法映射值正確返回。

這應該讓你在你的控制器中需要的數據 - 那麼你只需要插入數據庫。

+0

現在有意義。謝謝。 – 2011-01-23 06:40:17

相關問題