MVC - 需要在View中调用Controller中的方法

时间:2011-11-02 21:26:28

标签: model-view-controller view controller

在视图上提交页面时,我需要在Controller中调用一个方法。 我不知道该怎么做。如果您可以提供一个关于如何调用Controller的小例子,那将是值得赞赏的。

2 个答案:

答案 0 :(得分:1)

编辑:不确定您用于开发应用程序的框架,但这是使用ASP.NET MVC的示例。

听起来您想知道如何使用Controller中定义的Action方法来处理从View提交的表单的处理。此示例使用Razor视图引擎。在您的视图中,您可以使用BeginForm辅助方法创建表单,如下所示:

@using (Html.BeginForm("Action", "Controller", FormMethod.Post)) {
   @* form elements go here *@
}

字符串“操作”“控制器”分别是操作方法和控制器的名称。

请注意,呈现的HTML在表单标记的action属性中包含 / controller / action 路由:

<form action="/Controller/Action" method="post">
</form>

另请注意,您不必使用帮助方法,只需使用上面的HTML创建自己的表单。

答案 1 :(得分:0)

例如 - Ruby on Rails:

假设您有桌子/模型'建筑'

您将拥有Building模型(注意 - 单数)。

您将拥有BuildingsController类(在定义该控制器的文件中)。

此控制器将具有多种方法(在许多其他用途中)可以作为表单中的操作调用,即视图是您的建筑视图。

rails中的表单代码是form_for :building,它构建了相应的html表单标记,其中的操作将指向也使用模型信息的控制器方法。

提交表单时,它根据操作知道要转到哪个控制器方法。处理后,例如保存到数据库后,控制器还将负责确定要显示的视图(例如错误页面,建筑物页面列表等)

正如您在轨道中看到的那样,一旦您了解了这些惯例,建筑物,建筑物和建筑物的标准用法就非常方便。