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-12-26JavaScript入门教程:从零开始学习JavaScript编程
- 2024-12-26JavaScript入门教程:从零开始学习JavaScript
- 2024-12-26JS编程入门指南:从零开始学习JavaScript
- 2024-12-25Java编程面试题详解与解答
- 2024-12-25TS基础知识详解:初学者必看教程
- 2024-12-252024面试题解析与攻略:从零开始的面试准备指南
- 2024-12-25数据结构与算法学习:新手入门教程
- 2024-12-25初学者必备:订单系统资料详解与实操教程
- 2024-12-24内网穿透资料入门教程
- 2024-12-24微服务资料入门指南