blazor - 如何在 Blazor 托管应用程序中将数据从客户端传递到服务器
问题描述
我需要在 blazor 托管应用程序中将数据从客户端传递到服务器端,但我无法实现这一点。
<button @onclick="PassData">Click me to send the data</button>
private async void PassData()
{
await Http.SendJsonAsync(HttpMethod.Post, "/api/Controller/Method", JsonObject);
}
此方法不会在我的服务器控制器中命中。你能帮我做错什么吗?
解决方案
首先,确保将路由映射到控制器
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute(); // this line
endpoints.MapFallbackToClientSideBlazor<Client.Startup>("index.html");
});
在控制器文件夹中创建一个新控制器
[ApiController]
[Route("api/[controller]")]
public class TestController : ControllerBase
{
[HttpPost]
public string Post([FromBody]Data data)
{
// Handle here
}
}
叫它
Http.PostJsonAsync<Data>("api/Test", data);
希望能帮助到你
推荐阅读
- python - 使用 CSV 数据文件 Sklearn 的简单线性回归
- java - 'overridden method does not throw Exception' when use lambda with override exception thrown
- java - 使用 POI 库时出现 ClassNotFoundException org.apache.commons.collections4.ListValuedMap
- java - 如何通过 Selenium 访问框架内的嵌套 html
- php - phpmailer无法发送电子邮件
- haskell - I think there is a type mismatch in default definition in instance Applicative Maybe in Haskell
- python - 如何用python进行离散优化
- gcc - 为什么在Makefile中的`-L`之后`-R`
- google-sheets - 带有逻辑语句的 Google 表格查询
- javascript - 将json列表传递给jinja模板烧瓶中的javascript(python)