我使用的是ASP.NET MVC4,我想用一个提交按钮提交我的两个表单,还想用表单集合获取数据



我正在尝试构建一个搜索过滤器,其中有两个表单。一种是用于基本搜索过滤器,另一种形式用于更多搜索。在这方面,我希望当用户点击更多的过滤器并点击查看结果时,两个表单都会被提交。

这是一个具有一个输入的简单形式。

@using(Html.Beginform())
{
<input type="text" name="input1" />
}

这是具有另一个输入和提交按钮的第二个表单。

@using(Html.Beginform())
{
<input type="text" name="input2" />
<input type="submit" value="submit" />
}

我希望当用户单击submit按钮时,两个表单都将被提交,并且表单的值将使用formCollection类在控制器中获取。

这可能吗?

两个提交将作为两个单独的POST命令进行处理,这意味着每个submit将由.NET中的一个单独线程处理,并且它们将由两个独立的ActionMethod调用进行处理。

即使这是相同的ActionMethod,它也会被调用两次,并且每一次都不知道另一次调用或其数据。

实现这一点的唯一方法是将所有数据放入一个FORM(例如,可以使用<input type="hidden">,并使用Javascript设置值(,或者将至少一个Post作为AJAX Post,然后以实现最终目标的方式处理AJAX Post的结果(您没有向我们提供太多信息(。

您无法通过这种方式实现这一点,但您可以通过JQuery ajax、来实现

<script>
$(document).ready(function()
{   
var Input1=$("#Input1").val();
var Input2=$("#Input2").val();
$('#btnsubmit').click(function () { 
$.ajax({
url: "ControllerName/Actionname",
type: "POST",
data: { InputValue1: Input1,InputValue2:Input2},
cache: false,
async: true,
success: function (data) {
alert(data);
}
});
});` 
</script>

然后您可以从控制器操作方法中获取值。

最新更新