如果我没有BeginForm,如何从我的视图中收集字段值?

时间:2012-06-18 07:27:57

标签: asp.net-mvc

我有一个没有BeginForm的视图,我想从下拉列表和字段中收集值,并将它们发送到控制器以执行查询。我想使用某种类型的按钮将参数发送到控制器。

问题:我是否应该在BeginForm中包含视图的字段,以便我可以使用?

我可以使用FormCollection或类似的不需要BeginForm的东西吗?

如何从视图的字段中获取值并将它们作为参数传递给控制器​​?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我只是将它们包装在一个表单中。表单元素属于表单。

要么在每个元素上使用JavaScript,要么向控制器发出Ajax请求。也许看看Knockout来管理这个过程。

答案 1 :(得分:1)

我总是建议在这些情况下使用HTML表单。如果您正在使用Html.BeginForm进行创建,或者直接将表单元素添加到您自己,但我建议使用较早的表单元素。

Can I use FormCollection or something similar that does not require a BeginForm?

要在动作参数中使用FormCollection,不要强制使用BeginForm或在视图中使用表单。使用jquery,您可以根据其ID或名称轻松收集字段,您可以使用$.post发布帖子请求,但仍然可以在操作中使用formcollection。如果可能,您必须创建视图模型并使用它,而不是使用FormCollection

  

如何从视图的字段中获取值并将其传递给   控制器作为参数?

如果您没有使用表单,那么您已使用" id"收集每个字段值。对于前$(" #ddlCity"),形成一个json对象,你可以使用jquery的$.post方法。