我通过Angular CLI创建了一个新的angular 7项目,并创建了新的C#项目。我没有在客户端和服务器端进行任何其他配置。然后创建一个如下所示的表单。但是我的约会是3个小时后才去c#班的。例如,我选择'03 / 28/2019',但我将其作为'03 / 27/2019 21:00.00'。我尝试使用日历的showTime
属性。但是,结果没有改变。我该如何解决这个问题?
您应该查看stackblitz控制台,而不是浏览器控制台。另外,当我将<p-calendar formControlName="birthdate"></p-calendar>
更改为<input type="date" formControlName="birthdate">
时,它可以正常工作。 所以,我认为我的服务器没有问题。(服务器和客户端都是相同的。这是我的计算机)
.html文件
<form [formGroup]="myForm" (ngSubmit)="save()">
<p-calendar formControlName="birthdate"></p-calendar> <br><br>
<button type="submit">Save</button>
</form>
.ts文件
constructor(public fb: FormBuilder, public http: HttpClient) { }
myForm = this.fb.group({
birthdate: [null],
});
save() {
this.http.post('http://localhost:5000/api/values', this.myForm.value).subscribe(result => {
});
}
C#.cs文件
[HttpPost]
public void Post([FromBody] MyObject value)
{
}
public class MyObject
{
public DateTime Birthdate { get; set; }
}
答案 0 :(得分:0)
我找到了解决方案。Primeng日历具有属性dataType
。默认情况下,数据类型为date
。如果您将string
设置为date
而不是<div class="form-group" [ngClass]="{ 'is-invalid': submitted && f.roles.errors }">
<label>Role*</label>
<select class="form-control" id="exampleFormControlSelect1" [(ngModel)]="team.roles" formControlName="roles" [ngClass]="{ 'is-invalid': submitted && f.roles.errors }">
<option value="">Please Select</option>
<option *ngFor="let roles of teamRoles" value="{{roles.id}}">{{roles.admin_role}}</option>
</select>
</div>
,则它可以正常工作并将正确的日期发送到服务器。
您可以从该stackblitz链接的工作示例中看到。