Почему моя Blazor EditForm не вызывает OnValidSubmit на маршруте /auth/register?C#

Место общения программистов C#
Anonymous
Почему моя Blazor EditForm не вызывает OnValidSubmit на маршруте /auth/register?

Сообщение Anonymous »

Я создаю приложение Blazor (Razor Components/.NET 8), и у меня есть страница регистрации по адресу /auth/register. Компонент использует EditForm с OnValidSubmit="HandleRegister". Внутри HandleRegister у меня есть Console.WriteLine("HandleRegister CALLED"), и я также вызываю API через внедренный IAuthService.
Проблема: когда я отправляю форму, обработчик никогда не вызывается. В консоли сервера нет сообщений, нет вызовов API, а на вкладке «Сеть» браузера отображается только POST /auth/register с application/x-www-form-urlencoded, как в классической HTML-форме. HTML-форма в DevTools выглядит следующим образом: ... [/code]
Похоже, что страница отображается как обычная HTML-форма, а не как Blazor EditForm с интерактивностью.
Некоторые подробности:
  • У меня есть такой компонент маршрутизатора:

К сожалению, по этому адресу ничего нет.
строитель

Код: Выделить всё

.Services.AddRazorComponents()        .AddInteractiveServerComponents();  app.MapRazorComponents()    .AddInteractiveServerRenderMode(); 
  • Код: Выделить всё

    Register.razor
    — единственный компонент с @page "/auth/register" и содержит EditForm с отправкой .
  • Код: Выделить всё

    MainLayout.razor
    не имеет директивы @page.
  • Я вижу в консоли браузера несколько предупреждений о политике безопасности контента и о расширении браузера (

    Код: Выделить всё

    Unchecked runtime.lastError: A listener indicated an asynchronous response...
    ), но они кажутся несвязанными.
Мои вопросы:
  • При каких условиях Blazor отобразит мою страницу Register.razor как простую HTML-форму () вместо правильной интерактивной формы EditForm, чтобы OnValidSubmit никогда не запускался?
  • Что мне следует проверить, чтобы убедиться, что маршрут /auth/register действительно обслуживается компонентом Blazor, а не какой-либо страницей MVC/Razor или старым артефактом?
  • Есть ли какие-либо CSP или другие проблемы с конфигурацией, которые может помешать Blazor подключить обработчики событий, такие как OnValidSubmit, даже если страница, кажется, загружается нормально?
    Любые рекомендации или конкретные шаги по отладке этого (что проверить в DevTools, структуре проекта или настройке маршрутизации) будут оценены по достоинству.


Подробнее здесь: https://stackoverflow.com/questions/798 ... ster-route

Вернуться в «C#»