想学习网页WEB开发,苦于对JS不太懂,现在有了Blazo及.NET8.0就可以完全用c#来写,想试一下看看如何。
1.认识 Blazor
简单来讲,Blazor旨在使用C#来替代JavaScript的Web应用程序的UI框架。
2.Blazor WebAssembly
Blazor WebAssembly应用程序在浏览器中基于WebAssembly的.NET运行时运行客户端。Blazor应用程序及其依赖项和.NET运行时被下载到浏览器中。
3.Blazor Server
Blazor Server 应用程序在服务器上运行,所有处理都在服务器上完成,如果要方便地操作数据库,应该使用Blazor Server。
4.Razor语法和指令
实现接口
@implements IDisposable
@implements IAsyncDisposable
继承父类
@inherits ComponentBase
依赖注入 类型-名称
@inject IAsyncDisposable varName
使用布局
@layout Layout.MainLayout
声明命名空间
@namespace myNameSpace
定义泛型
@typeparam T1
@typeparam T2 where T2:class
代码块
@code{}
运算(表达式)
@* 我是注释 *@
@* 代码区域 *@
@{
var a = 1;
var b = 2;
var c = a + b;
}
@* 与字符串混用 *@
<h1>C的值:@(c)个单位</h1>
C的结果是 3
@* 默认隐式调用为ToString *@
<p>@DateTime.Now</p>
<p>@DateTime.IsLeapYear(2016)</p>
结果:
2024-02-01 16:22:01
Trur
@* 显式表达式 *@
<p>上一周:@(DateTime.Now-TimeSpan.FromDays(7))</p>结果:
上一周 2024-02-01 16:22:01
@* HTML自动转义 *@
<p>@("<span>Hello world</span>")</p>
<p>@((MarkupString)"<span>Hello world</span>")</p>
结果:
<span>Hello world</span>
Hello world
@* 语句块 *@
@if (true)
{
<span>true</span>
}
else
{
<span>false</span>
}
@for(var i=0;i<10;i++)
{
<text>这里是文本@(i)</text>
}
@try
{
throw new InvalidDataException("错误");
}
catch (Exception e)
{
<p>@e.Message</p>
}
finally
{
<span>finally</span>
}
结果:
true这里是文本0这里是文本1这里是文本2这里是文本3这里是文本4这里是文本5这里是文本6这里是文本7这里是文本8这里是文本9
错误finally
以上例子来至:https://blog.csdn.net/weixin_44064908/article/details/136386478