2014-06-05 22 views
0

改變我仍然在這個問題上的概念階段,所以我願意就如何去解決問題的建議。問題是這樣的:MVC如何收集信息,根據什麼在形式

我有一個web窗體。用戶正在編輯數據。當他們提交更改時,我需要確定哪些字段不同,然後收集每個字段的其他信息,例如,瞭解他們爲什麼更改了值。

我不能使用JavaScript來處理這個任務,因爲有些用戶已禁用JavaScript。

所以,我怎麼請求,基於已經提交信息的其他信息,以及如何保持所有信息直,所以我可以把它所有提交正確的數據庫一旦所有收集的?

我可以看到提交的變化,然後在控制器檢查數據庫(或以前給視圖的隱藏字段)來確定哪些字段是不同的,但然後我不知道如何請求額外的信息用戶基於此。

+0

如果你不打算使用無論出於何種原因的JavaScript你必須檢查你的控制器,以便您在萊特路徑。返回你的對象比較它,並基於這些變化在視圖中顯示你需要的任何內容。 – Moy

回答

0

我同意檢查對數據庫,看看哪些字段已經改變的方法(如果你使用隱藏的輸入記得那些可以被篡改的 - 如果你的應用是至關重要的,你一定要避免這一點)。一旦你知道有什麼改變了,我會堅持新的用戶輸入(磁盤,會話,數據庫等),以便以後可以訪問它,以實際將其保存在數據庫中的現有記錄中。

如果需要獲取更多信息,一旦你存儲在用戶提交的內容只是返回另一個視圖,並形成用戶提交還給你。根據您的需求,如果您需要爲每個字段獲取說明,也許只需構建已更改的字段集合並遍歷視圖中的集合以請求輸入。