【发布时间】:2021-06-26 01:33:56
【问题描述】:
我正在尝试从 Angular 前端向 asp.net API 服务器发送请求。 提交的表单定义为:
export class SaleToUpdate {
id: number;
shipped: boolean;
shipDate: string;
returned: boolean;
returnDate: string;
}
标记和代码
<mat-grid-tile [colspan] = "2" [rowspan] = "1">
<mat-form-field>
<input formControlName="shipDate" matInput placeholder="Ship Date">
</mat-form-field>
<div class="radio-group ml-3">
<mat-radio-group formControlName="shipped" required (ngModelChange)="shipped">
<mat-radio-button value="false">No</mat-radio-button>
<mat-radio-button value="true" class="ml-4">Yes</mat-radio-button>
</mat-radio-group>
</div>
</mat-grid-tile>
onSubmit() 方法
onSubmit() {
if (this.salesService.saleForm.valid) {
let sale: SaleToUpdate = this.salesService.saleForm.value;
console.log(sale);
this.salesService.updateSale(sale.id, sale).subscribe(res => {
console.log(res);
}, error => {
console.log(error);
});
}
}
因此,基本上,我的目的是将表单数据(SaleToUpdate 类)发送到后端服务器。
服务器端的 DTO
using System;
namespace API.Dtos
{
public class SaleUpdateDto
{
public int Id { get; set; }
public bool Shipped { get; set; }
public DateTime ShipDate { get; set; }
public bool Returned { get; set; }
public DateTime ReturnDate { get; set; }
}
}
从控制台,我得到了错误
无法将 JSON 值转换为 System.Boolean。路径:$.shipped |行号:0 | BytePositionInLine: 274." 当从客户端点击提交时。
我注意到表单中 shipped&returned 的值是 string 数据类型,而不是 boolean 数据类型
谁能帮我解决任何可能的问题?
【问题讨论】:
标签: json angular typescript type-conversion boolean