如何在blazor托管应用程序中将数据从客户端传递到服务器

时间:2019-09-25 09:06:49

标签: blazor blazor-server-side blazor-client-side

我需要在blazor托管的应用程序中将数据从客户端传递到服务器端,但是我无法实现。

<button @onclick="PassData">Click me to send the data</button>

private async void PassData()
    {

        await Http.SendJsonAsync(HttpMethod.Post, "/api/Controller/Method", JsonObject);
    }

此方法未在服务器中的控制器中命中。你能帮我做错什么吗?

1 个答案:

答案 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);

希望有帮助