Я пытаюсь получить список объектов из веб-API.
Это код сервера:
public IQueryable<PersonViewModel> GetPeople()
{
var People = from p in db.People
select new PersonViewModel()
{
Id = p.Id,
FirstName = p.FirstName,
LastName = p.LastName,
IdentityNo = p.IdentityNo,
DateOfBirth = p.DateOfBirth
};
return People;
}
[Route("api/Person/GetPersonById/{value?}")]
public IQueryable<PersonViewModel> GetPersonById(string value = "")
{
if (value != null)
{
var a= GetPeople().Where(x => x.IdentityNo.StartsWith(value));
return a;
}
else return GetPeople();
}
Модель лица:
public class PersonViewModel
{
public PersonViewModel()
{
}
public PersonViewModel(Person p)
{
Id = p.Id;
FirstName = p.FirstName;
LastName= p.LastName;
IdentityNo = p.IdentityNo;
DateOfBirth = p.DateOfBirth;
}
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string IdentityNo { get; set; }
public Nullable<System.DateTime> DateOfBirth { get; set; }
}
Код на стороне клиента:
Это модель:
export class Person {
Id:string;
FirstName :string;
LastName:string;
IdentityNo:string;
DateOfBirth:Date;
}
У меня был сервис, который содержит список типа Person,
и функция, которая пытается получить данные с сервера.
PersonIdList: Person[];
getPersonById(uri: string){
this.http.get('http://localhost:58527/api/Person/GetPersonById/' + uri)
.map((data: Response) => {
return data.json() as Person[];
}).toPromise().then(x => { this.PersonIdList = x; })
}
Но я не получаю никаких результатов в списке, когда отладка PersonIdList не определена.
Сообщение об ошибке:
ReferenceError: PersonIdList не определен в eval (eval в
PersonService.getPersonById (WebPack-внутренний: ///./src/app/Shared/person.service.ts),
: 1: 1) в
PersonService.getPersonById (WebPack-внутренний: ///./src/app/Shared/person.service.ts: 26: 5)
на MainComponent.onSubmit
(webpack-internal: ///./src/app/pages/main/main.component.ts: 58: 28) в
Object.eval [as handleEvent]
(ng: ///AppModule/MainComponent.ngfactory.js: 387: 31) ↵ at handleEvent
(WebPack-внутренний: ///./node_modules/@angular/core/esm5/core.js: 13805: 155) ↵
в callWithDebugContext
(WebPack-внутренний: ///./node_modules/@angular/core/esm5/core.js: 15314: 42) ↵
в Object.debugHandleEvent [как handleEvent]
(WebPack-внутренний: ///./node_modules/@angular/core/esm5/core.js: 14901: 12) ↵
при отправке события
(WebPack-внутренний: ///./node_modules/@angular/core/esm5/core.js: 10220: 25) ↵
в Eval
(WebPack-внутренний: ///./node_modules/@angular/core/esm5/core.js: 10845: 38) ↵
на HTMLButtonElement.eval
(WebPack-внутренний: ///./node_modules/@angular/platform-browser/esm5/platform-browser.js: 2680: 53)