我正在使用應用程序中的一個功能,其中模型將是動態的,因爲任何設置數據都可以顯示,並且視圖將獲得模型基於他們點擊的標籤。我使用隱藏字段來存儲設置名稱,因爲它們與模型名稱相同。例如,如果tab1-> Settings1,那麼Model是Settings1 [已經存在於模型中]。所以我在View中使用了@ model dynamic,並使用@ Html.EditotForModel()根據模型繪製了所需的UI。我的問題是,當我做HttpPost編輯目前我使用FormCollection讀取該頁面上的數據,當我在param中聲明模型名稱它會爲我得到它,但我不知道哪個模型回來以外由隱藏變量,我需要它,因爲這個問題導致模型驗證被破壞。任何幫助或反饋表示讚賞?如果需要,我可以提供更多細節?有沒有人在這個問題之前?MVC Razor如何在模型動態時在HttpPost上的控制器中獲取模型
0
A
回答
0
動態可以是一件好事,也可能是一件壞事。在控制莊園中具有通用接口的模型上使用它們是最好的。
有幾種不同的選項,您可以看看: 1) 您是否嘗試過讓操作方法接受動態類型?這可能是最簡單的方法。
您可能必須設置一個投射助手才能根據隱藏字段將對象轉換爲正確的類型。
2) 我在一些代碼中有類似的想法,但我創建了一個viewmetamodel類,它包含我所有的類型作爲可爲空的屬性。我的動作方法接受這個viewmetamodel類型並驗證非空的屬性。
符合這一點,如果你的數據不是太大,那麼你可以加載所有的設置標籤,並使用Jquery應用該標籤點擊。
3) 您也可以爲每個選項卡創建@sections或使用EditorFor(c => c.settings)。這樣每個標籤都會加載一個類型安全的對象。你需要爲每個創建控制器。
我會說爲你選擇最簡單的方法。我希望這至少能給你一些想法。
相關問題
- 1. 如何在MVC Razor視圖中從模型中獲取ID
- 2. 如何在向控制器注入模型時通過id獲取模型?
- 3. 在MVC 5 Razor中,你如何將不同的模型傳遞給控制器?
- 4. asp mvc 4.在控制器中獲取當前模型
- 5. 使用Razor MVC在正常模型中播放的IEnumerable模型使用Razor MVC
- 6. 在控制器中獲取模型的類型
- 7. 該模型如何在HttpPost上填充?
- 8. 如何在控制器laravel中獲取模型5.2
- 9. 如何在頁面刷新中獲取控制器模型
- 10. 模型視圖控制器中的模型視圖控制器
- 11. 獲取電流控制器的模型
- 12. 如何在MVC 3 Razor中將模型綁定到模型的屬性?
- 13. 如何從控制器傳遞變量在PHP中MVC模型
- 14. 我如何在BL中使用模型到控制器MVC
- 15. 如何在控制器/視圖mvc中使用多個模型?
- 16. 更新模態與控制器模型
- 17. 如何從模型中獲取值到控制器
- 18. mvc 4,如何打開(新頁面)HttpPost視圖控制器?與模型數據
- 19. 如何獲得模板JavaScript中的spring mvc控制器模型的關鍵值?
- 20. MVC Razor Html.Partial子模型
- 21. 如何區分ASP.NET MVC 4控制器中初始模型的空模型?
- 22. Cancan在無模型控制器上
- 23. 在Spring MVC中動態創建模型
- 24. 在MVC中動態綁定模型
- 25. 獲取控制器中強類型模型的「密鑰」
- 26. 在ASP.NET MVC控制器和模型完全無狀態?
- 27. 在模型或控制器中獲取消化的asset_path
- 28. 如何在setupController中設置模型時在控制器中啓動觀察器?
- 29. cakephp你如何在模型中調用控制器的動作
- 30. 在導軌上抓取模型中的控制器名稱