Javascript 将模型发送给MVC控制器和xB4;通过按钮单击事件jQuery执行的操作
一、 我一直在从事一个MVC项目,我需要将视图中的信息(模型)发送给适当的控制器操作,但是在通过jQuery和提交按钮的单击事件管理一些验证之后,下面是单击提交按钮及其验证时的javascript代码(工作正常) 上面的代码将值设置为#IDProvider和#idacme输入,并验证DUI或ISSS是否已存在,但如果值已存在,则始终将模型发送到操作,我希望的是,如果ISSS或DUI值存在,则不应将模型发送到操作方法。 有人能帮我吗 这是我的表格代码Javascript 将模型发送给MVC控制器和xB4;通过按钮单击事件jQuery执行的操作,javascript,c#,jquery,asp.net-mvc,Javascript,C#,Jquery,Asp.net Mvc,一、 我一直在从事一个MVC项目,我需要将视图中的信息(模型)发送给适当的控制器操作,但是在通过jQuery和提交按钮的单击事件管理一些验证之后,下面是单击提交按钮及其验证时的javascript代码(工作正常) 上面的代码将值设置为#IDProvider和#idacme输入,并验证DUI或ISSS是否已存在,但如果值已存在,则始终将模型发送到操作,我希望的是,如果ISSS或DUI值存在,则不应将模型发送到操作方法。 有人能帮我吗 这是我的表格代码 @using (Html.BeginForm
@using (Html.BeginForm("EnviarEALG", "Home", FormMethod.Post, new { @class = "form-horizontal", role = "form", id = "FormEmp" }))
{
...
some code goes here
...
<input type="submit" value="Ingresar Empleado" class="btn btn-info" id="sentInfo" />
}
还有按钮
<input type="button" value="Ingresar Empleado" class="btn btn-info" id="sentInfo" />
一种解决方案是使用ajax将数据从视图发送到控制器。我经常使用它,并且可能是一个很好的解决方案,因为您使用的是jQuery单击事件。下面是一个未经测试的示例,但它将为您提供如何执行此操作的想法
function Save(model){
var data = {
'modelNameToPass': model
}
$.ajax({
url: "/Home/EnviarEALG", // "/ControllerName/Method"
data: data,
type: "POST",
success: function(response){
//code to do something on success
},
error: function(response){
//do error stuff here
}
});
}
那么您的控制器应该已经这样设置了
[HttpPost]
public ActionResult EnviarEALG(DataModel modelNameToPass)
{
}
希望这有帮助 是的,模型的所有属性:@Html.EditorFor(model=>model.property)将
type=“submit”
更改为type=“button”
。因为它是一个submit
类型,它会自动为您发回,所以将它设置为一个按钮
,以允许javascript处理提交。谢谢,一旦更改了类型,如何发送模型,可能是:$(“表单”)。提交?另一个问题,我使用e.preventdefault,在使用input=submit for yhe按钮的情况下没有帮助?您的。each()
循环意味着,如果表中的任何行不满足这些条件,则将提交表单。如果任何一行“无效”,我想你会阻止提交?@PabloMayora老实说,我很担心我给你的是@StephenMuecke的坏建议。也许他会发布一个答案,告诉我们如何正确地做。FWIW try$(“#FormEmp”).submit()
(您错过了#
)虽然这是一个很好的解决方案,但在我的情况下,这不是一个选项,不是因为我,而是因为我的同事,所以我必须坚持旧的MVC,无论如何,谢谢。
function Save(model){
var data = {
'modelNameToPass': model
}
$.ajax({
url: "/Home/EnviarEALG", // "/ControllerName/Method"
data: data,
type: "POST",
success: function(response){
//code to do something on success
},
error: function(response){
//do error stuff here
}
});
}
[HttpPost]
public ActionResult EnviarEALG(DataModel modelNameToPass)
{
}