【发布时间】:2019-02-17 17:40:39
【问题描述】:
我正在将一个包含两个日期的对象从 Angular 6 发送到 ASP.NET Core Web API 方法。 Angular 端的日期是正确的,但是当在 Web API 方法中接收到它们时,它们比从 Angular 应用程序发送的日期晚了一天。
startSprint(id: number, SprintDates: any): Observable<any> {
this.sprintId = id.toString();
return this.http.patch<any>(this.baseUrl + 'setSprintDates/' + this.sprintId,
SprintDates);
}
上述方法将日期对象发送到 Web API 方法。下面的方法是接收该对象的 Web API 方法,但是当我调试并将光标悬停在 sprintDatesDto 对象上时,收到的值比从 Angular 发送时的值晚一天。
[HttpPatch("setSprintDates/{sprintId}")]
public async Task<IActionResult> SetSprintDates(string sprintId, SprintDatesDto sprintDatesDto)
{
// Business login related code
return StatusCode(200);
}
这是SprintDatesDto 类:
namespace AgileFootPrints.API.Dtos
{
public class SprintDatesDto
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
}
这是我在 angular Typescript 文件中创建的对象:
sprinDates = {
startDate: Date,
endDate: Date
};
然后,在 Html 文件中,我使用 ngModel 绑定到 sprintDates 对象属性:
<div class="row">
<div class="col-md-7 w-100 ">
<mat-form-field class="example-full-width">
<input
matInput
[(ngModel)]="sprinDates.startDate"
[min]="minDate"
[max]="maxDate"
[matDatepicker]="startsAt"
placeholder="Starts At"
/>
<mat-datepicker-toggle matSuffix [for]="startsAt"></mat-datepicker-toggle>
<mat-datepicker #startsAt></mat-datepicker>
</mat-form-field>
</div>
<br />
</div>
<div class="row">
<div class="col-md-7 w-100">
<mat-form-field class="example-full-width">
<input
[disabled]="sprinDates.startDate === undefined"
matInput
[(ngModel)]="sprinDates.endDate"
[min]="sprinDates.startDate"
[max]="maxDate"
[matDatepicker]="endsAt"
placeholder="Ends At"
/>
<mat-datepicker-toggle matSuffix [for]="endsAt"></mat-datepicker-toggle>
<mat-datepicker #endsAt></mat-datepicker>
</mat-form-field>
</div>
</div>
【问题讨论】:
-
分享代码你如何在客户端设置
SprintDates? -
我刚刚用客户端代码更新了帖子,请查看
标签: c# angular asp.net-web-api asp.net-core