如何将此数据传递到表单提交调用(类似于ajax帖子的数据参数)?

时间:2015-03-05 02:45:24

标签: javascript asp.net-mvc html-form

我有以下代码通过jquery ajax将数据提交给asp.net-mvc控制器动作

   var queryString = "name=Joe&age=22&weight=200";
   $.ajax({
            url: '/MyController/Generate',
            type: 'post',
            data: queryString,
            dataType: 'json'
        });

这样可以正常工作并绑定到控制器动作参数

public ActionResult Generate(MyParams p)
{
     Console.Write(p.name);
     Console.Write(p.age);
     Console.Write(p.weight);
}

现在的问题是我需要将其从ajax更改为常规表单帖子(我需要使用常规表单帖子,因为我现在从控制器操作返回文件)。我试图弄清楚如何将相同的querystring变量作为常规表单帖子(非ajax)的一部分提交。

这可能吗?

2 个答案:

答案 0 :(得分:1)

尝试使用html.beginform

@using (Html.BeginForm("Generate", "MyController","name=Joe&age=22&weight=200", FormMethod.Post, new { id = "frmMyForm" }))
{
 // Your form elements
}

答案 1 :(得分:-1)

如果您想要修复数据,可以制作如下表格:

<form action="/MyController/Generate" method="post">
    <input type="hidden" name="name" value="Joe" />
    <input type="hidden" name="age" value="22" />
    <input type="hidden" name="weight" value="200" />
    <input type="submit" />
</form>

否则,如果您希望数据可编辑,则如下所示:

<form action="/MyController/Generate" method="post">
    <input type="text" name="name" />
    <input type="number" name="age" />
    <input type="number" name="weight" />
    <input type="submit" />
</form>