ajax html.BeginForm()发布到控制器

时间:2017-03-07 23:13:25

标签: jquery ajax asp.net-mvc

正如我的问题的标题所述,我希望通过ajax而不是BeginForm内的提交按钮将注册表格发布到我的控制器。

HTML看起来像这样:

@Html.LabelFor(m => m.Email)<br />
@Html.TextBoxFor(m => m.Email)<br />
@Html.LabelFor(m => m.Password)<br />
@Html.TextBoxFor(m => m.Password)<br />
@Html.LabelFor(m => m.Name)<br />
@Html.TextBoxFor(m => m.Name)<br />
<p>
    <button type="submit" id="sbmt">Register</button>
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
</p>

我的控制器方法如下所示:

public ActionResult Registration(Users model)
{
//code for registration of user
}

我希望我的ajax只将模型传递给我的控制器。换句话说,我不想在我的控制器中声明多个字符串参数。

到目前为止,我的ajax看起来像这样:

$("#sbmt").click(function (e) {

    e.preventDefault();

        $.ajax({
            type: 'POST',
            url: "@Url.Action("Register", "Auth")",
            data: { WHAT SHOULD I PASS HERE? },
        }).done(function (res) {
            if (res.status === "success") {
                $("#MailFoot").hide();
                $("#ty").text("Thank you!");
            }
            else {
                alert("Error sending email");
            }
    });
});

我不知道我应该如何包装我的数据并将其传递给我的控制器。因此,感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

您应该使用AjaxExtensions.BeginForm来检查如何使用它here。如果您想要一个示例,可以查看此question的答案。