gpt4 book ai didi

c# - 使用 Json 将具有两个对象的 View 模型传递给 Controller

转载 作者:行者123 更新时间:2023-12-01 07:58:06 25 4
gpt4 key购买 nike

这是我的代码。下面的 JSON 不正确,但我认为我已经很接近了。 Controller 每次都获取空数据。任何帮助将不胜感激。

  $( "#btnRegister" ).click(function() {

var personModel = {
FirstName: $("#txtFirstName").val(),
LastName: $("#txtLastName").val(),
Phone: $("#txtPhone").val(),
EmailAddress: $("#txtEmail").val()
};

var loginModel = {
UserName: $("#txtUserName").val(),
Password: $("#txtPassword").val()
};

var registerViewModel = {
WebUser: loginModel,
Person: personModel
};

$.ajax({
url: "@Url.Action("Register", "User")",
type: 'POST',
data: registerViewModel,
success: function(result) {
alert(result);
}
});
});

[HttpPost]
public JsonResult Register(RegisterViewModel registerViewModel)
{

string name = registerViewModel.Person.FirstName;
string username = registerViewModel.WebUser.UserName;

return Json(name);
}

public class RegisterViewModel
{
public WebUser WebUser { get; set; }
public Person Person { get; set; }
}

public class WebUser
{
[Key]
public string UserId { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}

public class Person
{
[Key]
public int PersonId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Phone { get; set; }
public string EmailAddress { get; set; }
public string EmailConfirmation { get; set; }
public DateTime DateCreated { get; set; }
public string UserId { get; set; }
}

最佳答案

ajax部分需要像这样

       $.ajax({
url: "@Url.Action("Register", "User")",
type: 'POST',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(registerViewModel),
success: function(result) {
alert(result);
}
});

希望这有帮助!

关于c# - 使用 Json 将具有两个对象的 View 模型传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22367659/

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