我需要在blazor托管的应用程序中将数据从客户端传递到服务器端,但是我无法实现。
<button @onclick="PassData">Click me to send the data</button>
private async void PassData()
{
await Http.SendJsonAsync(HttpMethod.Post, "/api/Controller/Method", JsonObject);
}
此方法未在服务器中的控制器中命中。你能帮我做错什么吗?
答案 0 :(得分:1)
首先,确保将路由映射到控制器
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute(); // this line
endpoints.MapFallbackToClientSideBlazor<Client.Startup>("index.html");
});
在controllers文件夹中创建一个新控制器
[ApiController]
[Route("api/[controller]")]
public class TestController : ControllerBase
{
[HttpPost]
public string Post([FromBody]Data data)
{
// Handle here
}
}
命名
Http.PostJsonAsync<Data>("api/Test", data);
希望有帮助