我正在進入我第一次嘗試使用MVC4進行Web開發,並且遇到了一個我剛纔知道的一般問題是Web開發中的核心問題之一,但似乎無法將我的思想包裹在內。在MVC4中的控制器之間傳遞模型
所以我有兩種型號:Employee
和Company
。 Employee
具有Company
,因此/Employee/Create
包含一個字段,或者爲如果不存在選擇現有Company
,或者ActionLink
到/Company/Create
的下拉列表。 但問題在於:如果用戶必須創建Company
,則需要在兩個視圖中保留現有的Employee
模型 - 超過/Company/Create
,然後返回/Employee/Create
。
所以我的第一種方法是在Employee
模型傳遞到/Company/Create
與@Html.ActionLink("Add...", "Create", "Organization", Model , null)
,但後來當我到達Company
的Create(Employee emp)
,所有emp
的的價值觀是null
。
第二個問題是,如果我嘗試返回/Employee/Create
,我會傳回Employee
,這將解決爲POST
操作。
基本上,整個思路是拯救/Employee/Create
頁的狀態,跳轉到/Company/Create
創建Company
記錄,然後回到/Employee/Create
完成創建Employee
。 我知道有一個很好理解的解決方案,因爲,但我似乎無法將其良好地分階段,以獲得良好的Google結果。
我雖然已經關於使用會話,但似乎這樣做將是一個有點雜牌的。我真的很喜歡這個優雅的解決方案。
編輯:很難相信這個問題沒有標準的解決方案。感覺這應該是使用HTTP的最基本的單一問題。
我*使用EF代碼優先。但問題是,在用戶點擊「提交」之前,我在數據庫中創建記錄似乎很瘋狂。「如果用戶離開創建一個公司,但放棄了一半,那麼現在我的數據庫中有一個員工的無用的半成品記錄。 –
我已經編輯了上述答案。 –
看起來這將是我現在的計劃是開始學習JQuery和AJAX方法,在「創建員工」頁面中顯示「創建公司」對話框。謝謝! –