Проблема: когда я отправляю форму, обработчик никогда не вызывается. В консоли сервера нет сообщений, нет вызовов API, а на вкладке «Сеть» браузера отображается только POST /auth/register с application/x-www-form-urlencoded, как в классической HTML-форме. HTML-форма в DevTools выглядит следующим образом:
Код: Выделить всё
...
Некоторые дополнительные сведения:
- У меня есть такой компонент маршрутизатора:
Код: Выделить всё
Sorry, there's nothing at this address. - использует:
Код: Выделить всё
Program.csКод: Выделить всё
builder`.Services.AddRazorComponents() .AddInteractiveServerComponents(); app.MapRazorComponents() .AddInteractiveServerRenderMode(); - — единственный компонент с @page "/auth/register" и содержит EditForm с отправкой .
Код: Выделить всё
Register.razor - не имеет директивы @page.
Код: Выделить всё
MainLayout.razor - Я вижу в консоли браузера несколько предупреждений о политике безопасности контента и о расширении браузера (), но они кажутся несвязанными.
Код: Выделить всё
Unchecked runtime.lastError: A listener indicated an asynchronous response...
- При каких условиях Blazor отобразит мою страницу Register.razor как простую HTML-форму () вместо правильной интерактивной формы EditForm, чтобы OnValidSubmit никогда не запускался?
Код: Выделить всё
- Что мне следует проверить, чтобы убедиться, что маршрут /auth/register действительно обслуживается компонентом Blazor, а не какой-либо страницей MVC/Razor или старым артефактом?
- Есть ли какие-либо CSP или другие проблемы с конфигурацией, которые может помешать Blazor подключить обработчики событий, такие как OnValidSubmit, даже если страница загружается нормально?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ster-route