angular - 如何将 IActionResult 数据分配给 MatTableDataSource?
问题描述
我正在尝试将 ASP.Net Core 2.1 API 数据转换为角度,但它失败并出现错误 - 尝试区分“[object object]”时出错。只允许使用数组和可迭代对象。
我正在尝试获取图像数据并将其显示在 UI 中。
memberattributes.component.HTML:
<div >
<table mat-table [dataSource]="imageResults" align="center">
<tr *ngFor="let row of imageResults">
<td></td>
</tr>
<!-- Column 1 -->
<ng-container matColumnDef="ImageID">
<th mat-header-cell *matHeaderCellDef class="textalign"> Image ID </th>
<td mat-cell *matCellDef="let element; let i = index;" >
<button mat-button class="textalign btnhyplink" (click)="GetImageId(i)">{{element.ImageID}}</button></td>
</ng-container>
<!-- Column 2 -->
<ng-container matColumnDef="ReceivedDate">
<th mat-header-cell *matHeaderCellDef class="textalign"> Received Date </th>
<td mat-cell *matCellDef="let element" class="textalign" > {{element.ReceivedDate}} </td>
</ng-container>
<!-- Column 3 -->
<ng-container matColumnDef="ImageType">
<th mat-header-cell *matHeaderCellDef class="textalign"> Image Type </th>
<td mat-cell *matCellDef="let element" class="textalign"> {{element.ImageType}} </td>
</ng-container>
<!-- Column 4 -->
<ng-container matColumnDef="Viewdetails">
<th mat-header-cell *matHeaderCellDef class="textalign"> View Details </th>
<td mat-cell *matCellDef="let element" class="textalign"><img src="../../../../assets/images/linkicon.png" width="15" height="15"> </td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<tr></tr>
</table>
</div>
<div>
<mat-paginator #paginator
(page)="getUpdate($event)"
[pageSize]="10"
[pageSizeOptions]="[5,10,15]" showFirstLastButtons></mat-paginator>
</div>
memberattributes.component.ts
GetImages(Value: string) { this.memberattributeservice.GetImages(this.memberinfo.UniquePersonId).subscribe(
(data) => {
console.log(data);
this.imageResults = new MatTableDataSource(data);
this.imageResults.paginator = this.paginator;
}, (apiError) => {
this.sharedService.alert(apiError.error);
}
);
memberattributes.service.ts:
GetImages(Value:string) : Observable<Image[]>{
const data: ImageSearchParameters = {Value};
return this.http.post<Image[]>(this.constantsService.rootUrl + 'ImageSearch/GetImages', data, this.httpOptions);
}
Web API - ASP.Net Core 2.1
#region HTTP methods
[HttpPost, Route("GetImageId")]
public IActionResult GetImageId([FromBody]ImageSearchParameters param)
{
try
{
var search = new GetImageFromPathContext();
string ImageId;
if (param.ImagePath != null)
{
ImageId = search.GetImageFromPath(param);
return Ok(ImageId);
}
else
{
ImageId = "";
return Ok(ImageId);
}
}
解决方案
推荐阅读
- python - 使用不同颜色和标签的集群
- scala - 递归函数抛出 StackOverflowError
- python - 多头数据帧中的 dropna ( )
- git - 将 ssh 连接到谷歌虚拟实例总是被拒绝权限(公钥)
- python - 如何检查网页上是否有按钮?
- nginx - Prestashop 模块链接重定向到生产服务器中的管理仪表板
- javascript - 我正在运行这个javascript代码,但它给了我一个..错误请告诉我出了什么问题,因为我认为代码是正确的?
- c++ - 没有默认构造函数时用垃圾数据初始化对象
- php - 带有父字符串的数组树
- swift - 如何将文本字段限制为仅输入 Double 值