CS0428 C# Невозможно преобразовать группу методов в объект без делегата. Вы намеревались вызвать метод? - PullRequest
0 голосов
/ 08 июля 2020

Я получаю эту ошибку компилятора в Blazor («CS0428 C# Невозможно преобразовать группу методов в« объект »не делегированного типа. Вы намеревались вызвать метод?»), И я серьезно не знаю, как это исправить или какой маршрут выбрать. ошибка возникает в обоих событиях onchange раскрывающихся списков. помогите пожалуйста!

<select class="form-control" onchange="**@ReportingYearClicked**" style="width: 95px">
   <option value="">-- Select Reporting Year --</option>
    @foreach (var year in @yearlist)
    {
      <option value="@year">@year</option>
    }
   </select>
 
<select class="form-control" onchange="**@ClientClicked**" style="width: 600px">
   <option value="">-- Select Client --</option>
   @if (ReportingYear == "ALL")
   {
    @if (client != null)
    {
     @foreach (var client in @client)
     {
      <option value="@client.ClientUno">@client.ClientUno &nbsp; @client.ClientName</option>
     }
    }
   }
   else
   {
    @if (clientListDto != null)
    {
     @foreach (var client in @clientListDto)
     {
      <option value="@client.ClientUno">@client.ClientUno &nbsp; @client.ClientName</option>
     }
    }
   }
</select>

@Code
{
protected override async Task OnInitializedAsync()
{
DateTime now = DateTime.Today;
    currentyear = now.ToString("yyyy");
    YearList(currentyear);
    client = await Http.GetJsonAsync<List<ClientDto>>("http://XXXXXXX/api/clients");
  }

  protected async void ReportingYearClicked(ChangeEventArgs clientEvent)
  {
    client.Clear();
    clientListDto.Clear();
    clientListDto = await 
      Http.GetJsonAsync<List<ClientListDto>>"api/clientListReportingYear="+                                                                                       
                                                                            ReportingYear);
        
this.StateHasChanged();
  }

    void ClientClicked(ChangeEventArgs clientEvent)
    {
        ReportingYear = clientEvent.Value.ToString();
        this.StateHasChanged();
    }
}

1 Ответ

0 голосов
/ 08 июля 2020

Вы должны изменить код, в котором вы вызываете событие onchange, на @onchange:

<select class="form-control" @onchange="@ReportingYearClicked" style="width: 95px">
...