在視圖上提交頁面時,我需要調用Controller中的方法。 我不知道如何做到這一點。如果你能提供一個關於如何調用控制器的小例子,那將是值得讚賞的。MVC - 需要在視圖中調用控制器中的方法
1
A
回答
1
編輯:不知道你用什麼框架來開發你的應用程序,但這裏是一個使用ASP.NET MVC的例子。
聽起來好像您想知道如何使用Controller中定義的Action方法來處理從View提交的表單的處理。這個例子使用Razor視圖引擎。在您看來,您可以使用BeginForm
helper方法創建出象這樣的形式:
@using (Html.BeginForm("Action", "Controller", FormMethod.Post)) {
@* form elements go here *@
}
其中字符串「行動」和「控制器」分別是你的操作方法和控制器的名稱。
記下呈現的HTML包含在form標籤的action屬性的/控制器/動作路線:
<form action="/Controller/Action" method="post">
</form>
還要注意的是,你不必使用輔助方法,你可以只需使用上面的HTML創建自己的表單。
0
例如 - Ruby on Rails的:
假設你有一個表/模型 '建築'
您將有一個Building
模型(注 - 單數)。
您將有一個BuildingsController
類(在定義該控制器的文件中)。
此控制器將有多種方法(其中包括許多其他用途)可以從窗體調用爲動作,即作爲您的建築視圖的視圖。
Rails中的表單代碼是form_for :building
,它構建了適當的html表單標記,其操作將指向也使用模型中信息的控制器方法。
當表單被提交時,它知道基於動作的哪個控制器方法。處理後,例如保存到數據庫,然後控制器將負責確定要顯示的視圖(例如錯誤頁面,建築物頁面列表等)
正如您在rails中所看到的,建築物,建築物和建築物的標準用法是一旦你瞭解這些慣例,就很方便。
相關問題
- 1. mvc需要調用控制器方法從視圖沒有<form>
- 2. MVC - 我需要在視圖中使用控制器嗎?
- 3. 從視圖調用視圖控制器中的方法
- 4. 如何在視圖中調用控制器中的方法?
- 5. 需要從SSIS調用MVC控制器
- 6. 從MVC中的視圖調用api控制器中的GET方法3
- 7. 調用多個控制器方法在視圖中
- 8. 從視圖中可以調用控制器中的方法嗎?
- 9. 從視圖中調用link_to中的控制器方法
- 10. ASP.NET MVC:從視圖調用控制器方法
- 11. ascx MVC控制器需要知道調用控制器
- 12. 在actionPerformed方法中使用控制器 - 需要是最終的?
- 13. 如何在視圖或其他控制器中調用控制器方法?
- 14. 在拆分視圖控制器:調用詳細視圖控制器方法從主視圖控制器
- 15. 我應該在視圖控制器中調用方法?
- 16. didSelectRowAtIndexPath方法不在另一個視圖控制器中調用
- 17. iPhone - 在父視圖控制器中調用方法
- 18. 在JavaScript中調用控制器方法來加載視圖 - CodeIgniter
- 19. 需要調用控制器的動作方法到另一個類在c#mvc
- 20. 需要調用控制器方法,從視圖返回字符串值
- 21. 需要去Javascript方法之前打MVC控制器方法
- 22. 如何從包含在視圖控制器中的視圖調用方法?
- 23. 父視圖控制器中的調用方法
- 24. 從cakephp1.3中的視圖調用控制器,通過javascript方法
- 25. 如何調用父視圖控制器中的函數/方法
- 26. 從視圖中調用控制器的方法CakePHP
- 27. 調用視圖控制器中的方法Rails
- 28. 調用控制器中的方法
- 29. 在shouldStartLoadWithRequest中調用視圖控制器
- 30. 調用視圖控制器的方法從子視圖
這不會破壞MVC的最重要的方面,即*職責分離*嗎?視圖不一定知道哪個控制器正在調用,它只是傳遞一個模型來渲染。解釋最終目標是什麼可能會更好。聽起來像一個XY情況http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem/66378#66378。 –