Warum ruft mein Blazor EditForm nicht OnValidSubmit auf der Route /auth/register auf?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Warum ruft mein Blazor EditForm nicht OnValidSubmit auf der Route /auth/register auf?

Post by Anonymous »

Ich erstelle eine Blazor-App (Razor Components / .NET 8) und habe eine Registrierungsseite unter /auth/register. Die Komponente verwendet ein EditForm mit OnValidSubmit="HandleRegister". Innerhalb von HandleRegister habe ich eine Console.WriteLine("HandleRegister CALLED"), und ich rufe auch eine API über einen injizierten IAuthService auf.
Das Problem: Wenn ich das Formular absende, wird der Handler nie aufgerufen. Es gibt keine Meldung in der Serverkonsole, keinen API-Aufruf und auf der Registerkarte „Netzwerk“ des Browsers wird nur ein POST /auth/register mit application/x-www-form-urlencoded angezeigt, wie ein klassisches HTML-Formular. Das Formular-HTML in DevTools sieht folgendermaßen aus:

Code: Select all

     ... 
Es scheint also, dass die Seite als normales HTML-Formular gerendert wird, nicht als Blazor EditForm mit Interaktivität.
Einige weitere Details:
  • Ich habe eine Router-Komponente wie diese:

    Code: Select all

    
    
    
    
    
    
    
    Sorry, there's nothing at this address.
    
    
    
    
    
    
  • Code: Select all

    Program.cs
    verwendet:

    Code: Select all

    builder`.Services.AddRazorComponents()
    .AddInteractiveServerComponents();
    app.MapRazorComponents()
    .AddInteractiveServerRenderMode();
    
  • Code: Select all

    Register.razor
    ist die einzige Komponente mit @page „/auth/register“ und enthält das EditForm mit einem Submit .
  • Code: Select all

    MainLayout.razor
    hat keine @page-Direktive.
  • Ich sehe in der Browserkonsole einige Warnungen zur Inhaltssicherheitsrichtlinie und zu einer Browsererweiterung (

    Code: Select all

    Unchecked runtime.lastError: A listener indicated an asynchronous response...
    ), aber sie scheinen nichts miteinander zu tun zu haben.
Meine Fragen:
  • Unter welchen Bedingungen würde Blazor meine Register.razor-Seite als einfaches HTML-Formular rendern () anstelle eines richtigen interaktiven EditForm, damit OnValidSubmit nie ausgelöst wird?
  • Was sollte ich überprüfen, um sicherzustellen, dass die Route /auth/register tatsächlich von der Blazor-Komponente und nicht von einer MVC/Razor-Seite oder einem alten Artefakt bedient wird?
  • Gibt es CSP- oder andere Konfigurationsprobleme, die dies verhindern könnten? Blazor von der Verkabelung von Ereignishandlern wie OnValidSubmit, obwohl die Seite scheinbar normal geladen wird?
Jede Anleitung oder konkrete Schritte zum Debuggen dieses Problems (was in DevTools, Projektstruktur oder Routing-Setup überprüft werden sollte) wären willkommen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post
  • Warum ruft mein Blazor EditForm nicht OnValidSubmit auf der Route /auth/register auf?
    by Anonymous » » in C#
    0 Replies
    1 Views
    Last post by Anonymous
  • Blazor mit Editform funktioniert nicht mit Komponenten
    by Anonymous » » in C#
    0 Replies
    28 Views
    Last post by Anonymous
  • Warum wird die Editform nicht ausgelöst?
    by Anonymous » » in C#
    0 Replies
    30 Views
    Last post by Anonymous
  • Route nicht gefunden – Ausnahme Route [login] nicht definiert
    by Anonymous » » in Php
    0 Replies
    74 Views
    Last post by Anonymous
  • Laravel GET Route ruft falsche Klassenfunktion auf
    by Guest » » in Php
    0 Replies
    41 Views
    Last post by Guest