Когда вы делаете что-то вроде этого:
OnClickCallback="@AddNewEducation"
Вы сообщаете компилятору, что атрибут OnClickCallback представляет «делегат» EventCallBack в дочернем компоненте, и вы хотите, чтобы метод AddNewEducation вызывался, когда делегат срабатывает. Это отлично. И это:
[Parameter]
public EventCallback<MouseEventArgs> OnClickCallback { get; set; }
тоже нормально. Теперь вам нужен код для запуска «делегата» OnClickCallback. Единственный код, использующий этого делегата, который я вижу:
<button type="button" class="btn btn-primary"
onclick="OnClickCallback">Continue</button>
Этот код отображает элемент кнопки Html, атрибуту onclick которого присвоено строковое значение «OnClickCallback». Однако я предполагаю, что вы имели в виду: запускать делегата, когда я нажимаю на кнопку, верно?
Есть два способа сделать это. Вот один:
<button type="button" class="btn btn-primary"
@onclick="@((args) =>
OnClickCallback.Invoke(args))">Continue</button>
Примечание: директива атрибута компилятора @onclick инструктирует компилятор создать обработчик события щелчка в форме лямбда-выражения, которое вызывает делегат OnClickCallback (инкапсулируя метод AddNewEducation, определенный для родительского элемента, и передав ему параметр MouseEventArgs.
Надеюсь, это поможет ...