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

I am using ASP.NET MVC4 and i want to submit my two forms with single submit button, also i want to fetch data using form collection

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

这是一种只有一个输入的简单表格。

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

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

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

我希望当用户单击 submit 按钮时,将提交表单并使用 formCollection class.

在控制器中获取表单的值

这可能吗?

这两个提交将作为两个单独的 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>

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