笔记源于课堂编写:BiliBili
源视频教程:https://www.bilibili.com/video/BV19K4y1e7kd
第一课:Blazor简介
1.什么是Blazor
Blazor是微软最近推出的,使用C#和HTML来构架交互式WebUI的框架;
2.Blazor的两种方式?
- 基于WebAssembly
- 运行在Server
- 无需插件,基于Web标准
- 可以与Javascript进行交互
- 可以利用.NET的优势,例如性能、安全性、现有的程序等等
3.Blazor历史
4.Blazor的两种宿主模型
- 客户端
- 服务器端
5.客户端的Blazor?
优点:
- 可以运行在所有现代浏览器上面,包括ipad和手机上的浏览器。
- 服务器端不需要.NET
- SPA的体验
缺点:
- 老一点的浏览器不一定支持,例如IE
- 首次需下载的应用比较大
- Debug体验有限
6.服务器端的Blazor?
优点:
- 需要下载的东西很小
- 可以使用所有服务器端的API
- 完整的Debug体验
- 可在不支持WebAssembly的浏览器中运行
缺点:
- 不支持离线运行
- 网络延迟影响较大
- 可扩展星是个问题
第二课:HttpClient读取数据到页面
1.结构
2.调用Web API
- HttpClient
- GetFromJsonAsync()
- PostAsJaonAsync()
- PutAsJsonAsync()
- DeleteAsync()
- IHttpClientFactory
第三课:数据绑定
1.数据绑定
- 单项绑定:
Child Component
Rear: @Year
- 双向绑定:
第四课:EditForm
1.EditForm
- Input组件
- InputText:普通文本输入
- InputTextArea:多行文本框
- InputNumber:数字
- InputSelect:下拉框
- InputDate:日期
- InputCheckbox:复选框
- 数据绑定
- 数据验证
2.EditForm例子
第五课:表单验证
1.Blazor内置表单验证
- EditForm
- InputComponent
2.提示
- Blazor表单验证和ASP.NET Core的验证相似
- 在Model上:Data Annotations
- [Required] [MaxLength]
- DataAnnotationsCalidator——在Form中使用,可以对输入进行验证
- ValidationSummary——显示错误信息
第六课:调用JavaScript
1.JavaScript互操作
- C# 代码调用JavaScript
- JavaScript 调用 C#
- 可以封装成一个库
2.IJSRuntime
[Inject] //注入
public IJSRuntime JSRuntime {get;set;}
//第一个参数就是:JS函数方法
//第二个参数是JS函数方法的参数,可变长度的参数,需要传JSON格式
//返回类型是一个字符串
var reuslt=await jsRuntime.InvokeAsync
3.实例教程
1.写一个JS函数
2.在【wwwroot/Index.html】中引入刚刚写的JS文件。
3.在需要注入的地方注入IJSRuntime【EmployeeOverviewBase】,然后先一个属性用来显示。
4.在前端xxx.razor文件中写一个按钮,具有单击事件;使用Result属性进行页面的显示。
5.使用异步方式实现方法单击事件方法。
第七课:部署
1.部署要求
- 可以Serve静态文件
- HTML
- 能够连接API
- CORS
- 压缩
2.发布实例教程
1.选择客户端项目,进行发布
2.选择【文件夹】
3.点击【发布】
上一篇