ahmed_sa Ответов: 1

Как вызвать функцию возврата текста метки из базы данных на angular ?


Проблема

Как вызвать функцию (GetLabelTextForEmployee) на угловой компонент на employees.ts и employees.component.html -что ?

Я работаю дальше asp.net core 2.1 web API с angular 6.

Я делаю функцию на веб API, чтобы получить текст метки из базы данных и показать на просмотре

эта функция работает на веб-API, но в angular я не могу знать, как вызвать ее внутри angular ?

это моя функция :

[HttpGet("{tableName}/{FieldName}")]
        [Produces("text/plain")]
        public string GetReferenceFilesAsync([FromRoute] string tableName, [FromRoute] string FieldName)
        {
          var Result =  (from h in _context.ReferenceFiles
                          where h.TableName == tableName && h.FieldName == FieldName
                          select h.FieldName).FirstOrDefault();
            if(Result==null)
            {
                Result = "Not Exist";
            }
           
            return (Result);
           

        }

Функция выше возвращает только одно строковое значение для метки

Что я уже пробовал:

на сервисе Angular Api я делаю так, как показано ниже
GetLabelTextForEmployee(tableName:string,FieldName : string)
              {
                return this.http.get('https://localhost:44326/api/reference/' + tableName + '/' + FieldName);
              }

на главной странице или компоненте сотрудник
getreferencefile(tableName:string,FieldName : string) :void
{
  this.api.GetLabelTextForEmployee(tableName,FieldName).subscribe( data=>{
    this.returnedData = data; //SUBSCRIBE HERE
    console.log(data);
  }); 
}

/на вид как призвать сделать ссылка на файл функция

1 Ответов

Рейтинг:
2

Bryian Tan

Я бы предложил немного изменить сервис, чтобы сказать методу ожидать текст вместо объекта JSON.

public GetLabelTextForEmployee(tableName:string,FieldName:string): Observable<any> {
        return this.http
            .get('https://localhost:44326/api/reference/' + tableName + '/' + FieldName, {
                responseType: 'text',
            });
    }