Итак, это может быть не ваш точный ответ, но он может дать подсказку тому, кто наткнулся на этот ТАК вопрос. В моем случае это было результатом замены значка Font Awesome в тексте кнопки, а не двумя отдельными кнопками.
Это может быть связано с тем, что вы используете JSRuntime в сочетании с "report.IsChecked = 1;» синтаксис, который, как я предполагаю, изменяет состояние элемента пользовательского интерфейса на стороне клиента, который Blazor Server пытается (но не может) отслеживать.
Когда я использовал условную логику c внутри одной кнопки, чтобы поменять значок, Я получил сообщение об ошибке «Blazor TypeError: Невозможно прочитать свойство 'removeChild' of null». Этот синтаксис с использованием двух отдельных кнопок, однако, работал просто отлично:
@if (AllowAllPartners)
{
<button @onclick="(() => AllowAllPartnersToggle())">
<i class="far fa-check-square"></i>
</button>
}
else
{
<button @onclick="(() => AllowAllPartnersToggle())">
<i class="far fa-square"></i>
</button>
}