Blazor访问WebApi基础及Blazor刷新问题
2022/1/7 23:35:06
本文主要是介绍Blazor访问WebApi基础及Blazor刷新问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一个小demo。
webapi跨域问题,参见VS2019下开发和调用webapi
webapi
代码:
[Route("api/[controller]/[action]")] [ApiController] public class ValuesController : ControllerBase { public string Index() { return "Hello Katty."; } [HttpGet("{x}")] public string Index1(string x) { return x + ",Hello Katty."; } }
blazor
program.cs:
1 var builder = WebAssemblyHostBuilder.CreateDefault(args); 2 builder.RootComponents.Add<App>("#app"); 3 builder.RootComponents.Add<HeadOutlet>("head::after"); 4 5 builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("http://localhost:5014/") }); 6 7 await builder.Build().RunAsync();
修改了第6行,仅修改了webapi服务器地址。这一行说明httpclient是作用域注入(这里相当于单例)。
index.razor:
1 @page "/" 2 @inject HttpClient Http 3 4 用户名:<input @bind=u />密码:<input @bind=p /><br /> 5 结果:@msg<br /> 6 <button @onclick="Sub">提交</button> 7 @code { 8 private string u=string.Empty; 9 private string p=string.Empty; 10 private string msg="提示"; 11 int c = 1; 12 13 private async void Sub() 14 { 15 msg=await Http.GetStringAsync($"/api/values/index1/{c}"); 16 c++; 17 StateHasChanged(); 18 } 19 }
第2行,注入。代码里可以用Http表示单例的HttpClient。
第17行的StateHasChanged();用于强制刷新,此处强制刷新第5行处。
这篇关于Blazor访问WebApi基础及Blazor刷新问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-20测试人员都是画画大神,让我看看谁还不会用代码图?
- 2024-05-20年薪百万的程序员都在用的摸鱼方式……
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了