在Angular 5应用程序中,我想使用以下方法保存“事件”对象:
save(newEvent: NewEvent): Observable<any> {
const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
const requestUrl = 'api/event';
return this.http.post<any>(requestUrl, newEvent, httpOptions);
}
NewEvent模型是:
export class NewEvent {
id: number;
title: string;...
constructor() {
this.id = null;
this.title = '';...
}
}
在使用.NET Core的控制器中的方法调用此方法之后:
[HttpPost("api/event")]
public IDictionary<string, Object> SaveEvent([FromBody] EventViewModel model){...}
EventViewModel POCO为:
{
public class EventViewModel
{
public int Id { get; set; }
public string Title { get; set; }...
}
}
当我的对象EventViewModel
不具有“空”值的属性时,它没有问题,但是当我具有“空”属性时,它不起作用(EventViewModel
变为“空” ),有时我希望具有“空”属性。
答案 0 :(得分:1)
您的C#模型的ID列具有不可为空的int
。如果希望它可以为空(在javascript模型中将其设置为null),则应将其定义为int?
或Nullable<int>
。
另请参阅:Nullable Types.