Angular 2/ASP.NET Core从URL中检索ID

Angular 2/ASP.NET Core从URL中检索ID

问题描述:

我想通过url从特定产品中检索id。这是到目前为止我的代码:Angular 2/ASP.NET Core从URL中检索ID

进口

//Imports from @Angular 
import { Component, OnInit } from '@angular/core'; 
import { RouterModule, Router, Params, RouterLink, ActivatedRoute } from '@angular/router'; 
import { Http } from '@angular/http'; 

构造

constructor(
     private _hatListService: HatListService, private _router: Router, private _params: ActivatedRoute) { 

    } 

帽子editor.component ngOnInit

ngOnInit() { 

      this._params.params.subscribe((params: Params) => { 
     var id = params['id'] * 1;//*1 efter det som man vill parse:s so bilr det som int.parse 

     this._hatListService.getHat(this.id).subscribe(

      foundHats => this.thisHatModel = foundHats); 
     console.log(this.thisHatModel) 
    }); 

} 

服务

public _getHatById: string = '/api/Hats/GetHatById'; 

     getHat(id: number): Observable<Hat> { 
      //debugger 
      return this._http.get(this._getHatById + '/' + id).map(res => <Hat>res.json()).catch(this.handleError); 


     } 

控制器

// GET: api/Hats/5 
    [HttpGet("GetHatById/{id}")] 
    public async Task<IActionResult> GetHat([FromRoute] int id) 
    { 
     if (!ModelState.IsValid) 
     { 
      return BadRequest(ModelState); 
     } 

     var hat = await _context.Hat.SingleOrDefaultAsync(m => m.Id == id); 

     if (hat == null) 
     { 
      return NotFound(); 
     } 

     return Ok(hat); 
    } 

当我将鼠标悬停在每个产品的URL产生:

enter image description here

但是当我点击该产品的ID不能从浏览器抓:

enter image description here

位指示:

enter image description here

我猜的错误在此行中我getHat发生( ) 方法。在* 1是铸造将ID号:

>  this._params.params.subscribe((params: Params) => { 
      var id = params['id'] * 1; 

     }); 

我试过Angualr.io exapmlpe但不能让它为我工作。 感谢名单所有帮助

解决它改变了这种:

变种ID =参数[ 'ID'] * 1;

到:

公共ID:任;

this.id = params ['id'] * 1;

它工作。