PrimeNg日历日期无法正常运行

时间:2019-03-07 07:23:24

标签: c# angular typescript primeng angular7

我通过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">时,它可以正常工作。 所以,我认为我的服务器没有问题。(服务器和客户端都是相同的。这是我的计算机)

STACKBLITZ

.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; }
 }

1 个答案:

答案 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

您可以从该stackblitz链接的工作示例中看到。