塘厦网站仿做,全国互联网公司排名,ui设计与网站建设,人流医院网站建设文章目录 前言BB数据注解数据注解源码数据注解简介注解简单实例[BB 编辑弹窗](https://www.blazor.zone/edit-dialog)[ValidateForm 表单组件](https://www.blazor.zone/validate-form)使用简介 前言
BootstrapBlazor(一下简称BB)是个特别好用的组件#xff0c;基本上满足了大… 文章目录 前言BB数据注解数据注解源码数据注解简介注解简单实例[BB 编辑弹窗](https://www.blazor.zone/edit-dialog)[ValidateForm 表单组件](https://www.blazor.zone/validate-form)使用简介 前言
BootstrapBlazor(一下简称BB)是个特别好用的组件基本上满足了大部分功能。业务逻辑上面没任何问题官方的文档也特别详细。你看过那种只给案例的文档你就明白什么是好文档了
BB 官方文档
BB数据注解
BB其实是面向后端管理开发的组件特别适合用于企业级开发。可以说是小项目的特化版组件。
推荐开发技术
Blazor Server (SSR)服务端渲染前后端不分离开发。BoostrapBlazorUI组件库SqlSugar数据库
开发速度那叫一个快。不用考虑跨域不怕安全信息泄漏因为是SSR浏览器只能拿到渲染结果前端直接从后端拿数据。
唯一的问题是不支持高并发。1200人以下是安全的如果是1200人以上的高并发那就得上微服务了。这个是互联网开发微服务分布式内存缓存。大部分业务做不到这个水平。所以特别适合小项目
数据注解源码 BootstrapBlazor/ src / BootstrapBlazor.Shared / Data / Foo.cs
数据注解简介
Display Name名称 AutoGenerateColumn Ignore 是否忽略order 排序FormatString格式化 Required ErrorMessage检验错误报错提示
注解简单实例
BB很多数据相关的都和这个注解相关。主要看有没有Model这个数据变量。 BB 编辑弹窗
ValidateForm 表单组件
使用简介
对sqlsugar生成对象添加BB注解
public partial class T_Joint
{/// summary/// Desc:/// Default:/// Nullable:False/// /summary [SugarColumn(IsPrimaryKey true, IsIdentity true)][AutoGenerateColumn(Ignore true)]public long Id { get; set; }/// summary/// Desc:/// Default:/// Nullable:True/// /summary [Display(Name 创建时间)]public DateTime? CreateTime { get; set; } DateTime.Now;/// summary/// Desc:/// Default:/// Nullable:True/// /summary [Display(Name 修改时间)]public DateTime? Time { get; set; } DateTime.Now;/// summary/// Desc:/// Default:/// Nullable:True/// /summary [AutoGenerateColumn(Ignore true)]public bool IsDel { get; set; } false;/// summary/// Desc:/// Default:/// Nullable:True/// /summary [AutoGenerateColumn(Ignore true)]public bool IsClick { get; set; } false;/// summary/// Desc:/// Default:/// Nullable:True/// /summary [AutoGenerateColumn(Ignore true)]public int? ParentId { get; set; }/// summary/// Desc:/// Default:/// Nullable:True/// /summary [AutoGenerateColumn(Ignore true)]public string Path { get; set; }/// summary/// Desc:/// Default:/// Nullable:True/// /summary [AutoGenerateColumn(Ignore true)]public int? Deep { get; set; }/// summary/// Desc:/// Default:/// Nullable:True/// /summary [Display(Name 排序号)]public int? OrderNum { get; set; } 0;/// summary/// Desc:/// Default:/// Nullable:True/// /summary [Display(Name 名称)][Required(ErrorMessage {0}不能为空)]public string Name { get; set; }/// summary/// Desc:/// Default:/// Nullable:True/// /summary [AutoGenerateColumn(Ignore true)]public long? UserId { get; set; }}使用
//注入对话框服务
[Inject]
private DialogService DialogService { get; set; }
......//随便一个按钮绑定一个事件public async Task AddRootBtn()
{var option new EditDialogOptionT_Joint(){Title 节点编辑,Model new T_Joint() { },RowType RowType.Inline,ItemsPerRow 2,ItemChangedType ItemChangedType.Update,Items Items,};await DialogService.ShowEditDialog(option);
}
使用效果