下面的代碼是查看頁面并呼叫 Ajax 方法。我需要傳遞地址物件。
var address = {};
address.userId = parseInt($("#userID").val());
address.addressLine1 = $("#addAddressLine1").val();
address.addressLine2 = $("#addAddressLine2").val();
address.cityId = parseInt($("#addAddressCity").val());
address.zipCode = $("#addAddressPostCode").val();
address.mobileNo = $("#addAddressPhoneNumber").val();
$.ajax({
type: "POST",
url: "@Url.Action("AddAddress")",
data:JSON.stringify(address),
dataType: 'json',
contentType: 'application/json',
success: function (responce) {
if (responce) {
alert("true");
}
else {
alert("fail");
}
},
failure: function (response) {
alert("failure");
},
error: function (response) {
alert("Something went Wrong");
}
});
這是我的控制器操作方法的代碼。Null從 Ajax 呼叫時,我得到地址物件的值:
public IActionResult AddAddress([FromBody] AddressViewModel address)
{
return Json(address != null);
}
這是我的視圖模型:
public class AddressViewModel
{
[JsonPropertyName("userId")]
public int UserId { get; set; }
[JsonPropertyName("addressLine1")]
public string AddressLine1 { get; set; }
[JsonPropertyName("addressLine2")]
public string AddressLine2 { get; set; }
[JsonPropertyName("zipCode")]
public string ZipCode { get; set; }
[JsonPropertyName("mobileNo")]
public string MobileNo { get; set; }
[JsonPropertyName("cityId")]
public int CityId { get; set; }
}
我需要在哪里更改我的代碼?我需要改變什么StartUp.cs嗎?
uj5u.com熱心網友回復:
需要確保.int 型別的值不能接受空值,如果address.userId = parseInt($("#userID").val());or為空,則為空。可以嘗試使用或更改 or 的值。address.cityId = parseInt($("#addAddressCity").val());address.userIdaddress.cityIdAddressViewModel address#nullable enableaddress.userIdaddress.cityId
#nullable enable
public class AddressViewModel
{
[JsonPropertyName("userId")]
public int? UserId { get; set; }
[JsonPropertyName("addressLine1")]
public string AddressLine1 { get; set; }
[JsonPropertyName("addressLine2")]
public string AddressLine2 { get; set; }
[JsonPropertyName("zipCode")]
public string ZipCode { get; set; }
[JsonPropertyName("mobileNo")]
public string MobileNo { get; set; }
[JsonPropertyName("cityId")]
public int? CityId { get; set; }
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/424082.html
標籤:jQuery 阿贾克斯 asp.net 核心 .net-core asp.net-core-mvc
