如何获取ASP.NET MVC表单与按钮提交相同

时间:2014-04-24 00:53:08

标签: jquery asp.net asp.net-mvc asp.net-mvc-2

我有一个简单的ASP.NET MVC表单,其代码如下:

@using (Html.BeginForm(null, null, FormMethod.Post, new
{
  action = "https://secure.authorize.net/gateway/transact.dll",
  id = "registerformid",

}))
{
  @Html.HiddenFor(a => a.RegisterUserInfoLoggedIn.AttendeesId)
  ...

我有一个JQuery ajax调用,如果JQuery成功,我希望我的表单POST到操作URL进行进一步处理。

我的JQuery看起来如下,但我无法弄清楚是什么放入我的JQuery ajax成功事件,这样我回发到动作网址,该页面响应正确并显示我的新页面。

               success: function (data) {
                    if (donationAmount > 0.00) {
                        $.post("https://secure.authorize.net/gateway/transact.dll", {
                            x_login: 'xxx',
                            x_amount: 19.99,
                            x_description: 'Sample Transaction',
                            ...

                        }, function(datax) {

                            this.submit();
                        });

2 个答案:

答案 0 :(得分:1)

您可以使用.Submit()

调用表单提交
success: function (data) {
    $('#registerformid').submit(); // right here.   
}

答案 1 :(得分:0)

您可以执行以下操作。

根据您的行动状态返回正确的json格式。

    public ActionResult SomeAction()
    {
        return this.Json(new
        {
            redirectUrl = "/ControllerName/ActionName",
            isRedirect = true
        }, JsonRequestBehavior.AllowGet);
    }

重定向到成功方法的提供页面。

 $.ajax({
    url: '/Home/SomeAction',
    type: 'POST',
    dataType: 'json',
    data: json,
    contentType: 'application/json; charset=utf-8',
    success: function (data) {
        // redirect to home if true
        if (data.isRedirect) {
            window.location.href = data.redirectUrl;
        }
    }
});