在我的Blazor项目中,我有两个应用程序(服务器、客户端、共享). 现在我被困了几个小时,因为在我的Report.razor页面中,IDE显示错误CS1061.我无法使用报表对象解析报表列表中的任何属性.
有谁有意见来解决我的问题吗?谢谢!
服务器应用:ReportController.cs
using BlazorApp.Shared;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http.HttpResults;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Identity.Web.Resource;
namespace BlazorApp.Server.Controllers
{
[Authorize]
[ApiController]
[Route("[controller]")]
[RequiredScope(RequiredScopesConfigurationKey = "AzureAd:Scopes")]
public class ReportController : ControllerBase
{
private readonly ILogger<ReportController> _logger;
public ReportController(ILogger<ReportController> logger)
{
_logger = logger;
}
private List<Report> Reports = new()
{
new("Title","Desc","Name","Lastname")
};
[HttpGet("List")]
public ActionResult List()
{
return Ok(Reports);
}
}
}
客户端应用程序:Report.razor
@page "/reports"
@using BlazorApp.Shared
@using Microsoft.AspNetCore.Authorization;
@attribute [Authorize]
@inject HttpClient Http
<PageTitle>Report</PageTitle>
<h1>Report</h1>
<ul>
@foreach (var report in Reports)
{
<li>@report.Title</li> -> Compiler Error CS1061
}
</ul>
@code {
private List<Report> Reports = new();
protected override async Task OnInitializedAsync()
{
Reports = await Http.GetFromJsonAsync<List<Report>>("List/Report");
}
}
我的共享班级:Report.cs
namespace BlazorApp.Shared
{
public class Report
{
public string Title { get; set; }
public string Description { get; set; }
public string ReporterName { get; set; }
public string ReporterLastname { get; set; }
public Report() { }
public Report(string title, string description, string reporterName, string reporterLastname)
{
this.Title = title;
this.Description = description;
this.ReporterName = reporterName;
this.ReporterLastname = reporterLastname;
}
}
}