gpt4 book ai didi

c# - 在调用 MVC Controller 方法之前需要先执行 Javascript 方法

转载 作者:行者123 更新时间:2023-11-28 01:13:46 27 4
gpt4 key购买 nike

我有 MVC 项目。我需要在运行时进行客户端验证。当单击表单提交按钮时,我需要先单击 JavaScript 方法,然后返回 true 移动到 Controller 方法。

假设以下代码类型:

JavaScript OnClick 方法:

$(function () {
$('#btnSave').on('click', function (event) {
$.ajax({
url: '/Service/Utility/ThresholdValidation',
type: $("#addNewOrderForm").attr('method'),
data: $("#addNewOrderForm").serialize(),
success: function (data) {
if (data != "") {
event.preventDefault();
alert(data);
return false;
}
else {
return true;
}
}
});
});
});

Controller 方法:

[HttpPost]
[BaseAuthenticationFilter(UserTypeEnum.Admin, PermissionEnum.CanSendRemittance)]
public ActionResult Create(Invoice model)
{
// Method Goes here
}

这里我无法弹出验证警报消息。当我单击按钮时,它将触发 Controller 方法。我需要先转到 javascript 方法,然后如果 true 转到 Controller 方法

请帮忙。

最佳答案

尝试以下代码,您必须直接在单击处理程序中返回 false 而不是 ajax 响应事件。因为 ajax 是异步的,所以它会在获取 ajax 响应之前立即执行 ajax 并从事件处理程序中调用。

因此检查数据是否不存在,然后提交表单,否则显示验证消息

$('#btnSave').on('click', function (event) {
$.ajax({
url: '/Service/Utility/ThresholdValidation',
type: $("#addNewOrderForm").attr('method'),
data: $("#addNewOrderForm").serialize(),
success: function (data) {
if (data != "") {
alert(data);
}
else {
$("form").submit();
}
}
});

event.preventDefault();
return false;
});

关于c# - 在调用 MVC Controller 方法之前需要先执行 Javascript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24105304/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com