Wenn ich versuche, ein Formular an einen API -Endpunkt einzureichen, erhalte ich einen Postfehler
Posted: 02 May 2025, 07:50
Ich versuche, ein Formular von einem .razor < /code> an einen Endpunkt zu senden, den ich in einem Controller erstellt habe, aber wenn ich es tue, werde ich einen sehr seltsamen Fehler zurückgegeben, dass trotz meiner besten Bemühungen, Blazor -Routing zu verstehen, nicht behoben wird. Um dies zu beheben, stellen Sie sicher, dass Elemente ein @FormName -Attribut mit einem einzigartigen Wert haben, oder übergeben Sie einen Formname -Parameter, wenn.
Ich verwende Blazor Server, nicht die Webbaugruppe.>
Code: Select all
@page "/test"
@rendermode InteractiveServer
@inject HttpClient Http
Submit
@if (!string.IsNullOrEmpty(message))
{
@message
}
@code {
private FormData formData = new();
private string? message;
private async Task HandleValidSubmit()
{
var response = await Http.PostAsJsonAsync("/api/command", formData);
message = response.IsSuccessStatusCode ? "Success!" : "Failure.";
}
public class FormData
{
public string Text { get; set; } = string.Empty;
}
}
< /code>
Und dies ist die Controller -Methode: < /p>
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/[controller]")]
public class TestController : ControllerBase
{
[HttpPost]
public IActionResult PostCommand([FromBody] CommandData data)
{
// Do something with the data
return Ok(new { status = "received", receivedText = data.Text });
}
public class CommandData
{
public string Text { get; set; } = string.Empty;
}
}