ajax form两个按钮,两人在Ajax.BeginForm提交按钮。需要调用不同的js函数的onSuccess...

是否有实现这一目标的一个简单的方法?

不,您可以让控制器操作传递结果中单击的按钮。可以这样做既可以作为一个JSON属性(如果你正在返回JSON),或者它也可能是一个自定义的响应HTTP头。

然后在你的成功回调(只能是一个)中,你可以检索这个值,以便知道哪个按钮被点击并采取相应的行动。

因此,通过给一个名字到您的提交按钮启动,让你知道一个被点击其中:

@using (Ajax.BeginForm("Save", "Company", new AjaxOptions() {

HttpMethod="Post", OnSuccess="onSuccess"

}, new { id = "companyEditForm" })) {

....some edit fields......

Save & Next

Save

}

然后你的控制器动作中

[HttpPost]

public ActionResult Save(MyViewModel model)

{

Response.AppendHeader("X-Button", Request["btn"]);

... your usual processing

}

和你onSucecss回调终于里面:

function onSuccess(data, status, xhr) {

function onSuccess(data, status, xhr) {

var btn = xhr.getResponseHeader('X-Button');

if (btn == 'save_next') {

// The "Save & Next" button was clicked

} else if (btn == 'save') {

// The "Save" button was clicked

} else {

// The user didn't submit the form by using the mouse and

// clicking on a button, he simply pressed Enter while

// inside some text field or you have some other portion of

// javascript which triggered the form submission without pressing

// on any submit button

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值