Jquery 将多个模型传递给控制器的Ajax操作后调用
我正在开发asp.net mvc web应用程序。我有一个用于注册用户信息的表单。保存操作在单击按钮时写入。我正试图将多个模型传递给控制器。但在控制器中,它变为空。我如何解决这个问题。我已经尝试了一些解决方案 以下是我的示例-请检查: 我有一个父模型:Jquery 将多个模型传递给控制器的Ajax操作后调用,jquery,asp.net,ajax,asp.net-mvc,model,Jquery,Asp.net,Ajax,Asp.net Mvc,Model,我正在开发asp.net mvc web应用程序。我有一个用于注册用户信息的表单。保存操作在单击按钮时写入。我正试图将多个模型传递给控制器。但在控制器中,它变为空。我如何解决这个问题。我已经尝试了一些解决方案 以下是我的示例-请检查: 我有一个父模型: public class ParentUsers { public Login loginModel { get; set; } public Details registerModel { get; se
public class ParentUsers
{
public Login loginModel { get; set; }
public Details registerModel { get; set; }
}
Jquery函数
$("#registerLE").click(function () {
var form = $("#registration");
var validatable = form.kendoValidator().data("kendoValidator");
debugger
if (validatable.validate()==true) {
var parentModel = {
loginModel :{
Username: $('input[name=uname]').val(),
Password: $('input[name=password]').val(),
Role: 'LE'
},
registerModel: {
name: $('input[name=firstname]').val(),
userId:1
}
}
$.ajax({
type: "POST",
url: "/Home/Register",
data: { "parentModel": parentModel },
datatype: "json",
cache: false,
success: function (data) {
alert("You Multiple Data Passed Successfully");
},
error: function (xhr) {
alert('No Valid Data');
}
});
}
});
控制器方法:
public ActionResult Register(ParentUsers parentModel)
{
//...after save..//
return View("Login");
}
请帮助您需要在ajax中进行一些更改。我已经测试了你的代码,它在我这边运行得很好 行动方法:
public ActionResult SubmitMethod(ParentUsers parentuser)
{
//do stuff here
return Json( "" , JsonRequestBehavior.AllowGet);
}
模态:
public class ParentUsers
{
public loginModel loginModel { get; set; }
public Details registerModel { get; set; }
}
public class loginModel {
public string Username { get; set; }
public string Password { get; set; }
public string Role { get; set; }
}
public class Details {
public string name { get; set; }
public int Id { get; set; }
}
Ajax代码:
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<input type="button" id="btnPost" value="Gel Users" />
<script>
$(document).ready(function () {
$('#btnPost').click(function () {
alert('btnPost');
var loginModelObj = {
Username:"UsernameValue",
Password:"PasswordValue",
Role:"RoleValue",
};
var registerModelObj = {
name:"nameValue",
Id:1
};
var SendObject = {
loginModel: loginModelObj, //loginModel same name as in Modal
registerModel: registerModelObj, //registerModel same name as in Modal
}
$.ajax({
method: 'POST',
url: '/Test/SubmitMethod',
contentType: 'application/json', // send data type to server
dataType: 'json', //return type of data from server
data:JSON.stringify(SendObject),
// asyn: false,
success: function (data, status, xhr) {
// do stuff here
},
error: function (response, status, xhr) {
alert(response.statusText);
}
})
})
})
</script>
$(文档).ready(函数(){
$('#btnPost')。单击(函数(){
警报(“btnPost”);
变量loginModelObj={
用户名:“UsernameValue”,
密码:“PasswordValue”,
角色:“角色价值”,
};
var registerModelLobj={
名称:“名称值”,
身份证号码:1
};
变量SendObject={
loginModel:loginModelObj,//loginModel与model中的名称相同
registerModel:registerModelObj,//registerModel与model中的名称相同
}
$.ajax({
方法:“POST”,
url:“/Test/SubmitMethod”,
contentType:'应用程序/json',//将数据类型发送到服务器
dataType:'json',//从服务器返回数据的类型
数据:JSON.stringify(SendObject),
//答:错,
成功:功能(数据、状态、xhr){
//在这里做事
},
错误:函数(响应、状态、xhr){
警报(response.statusText);
}
})
})
})
使用ajax.begin表单,这将是最简单的处理方法。非常感谢!成功了!你救了我;)(y) 很高兴,它帮助了你:)