我有以下代码通过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)的一部分提交。
这可能吗?
答案 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>