BootstrapBlazor组件使用:数据注解

文章目录

  • 前言
  • BB数据注解
    • 数据注解源码
    • 数据注解简介
    • 注解简单实例
      • [BB 编辑弹窗](https://www.blazor.zone/edit-dialog)
      • [ValidateForm 表单组件](https://www.blazor.zone/validate-form)
      • 使用简介

前言

BootstrapBlazor(一下简称BB)是个特别好用的组件,基本上满足了大部分功能。业务逻辑上面没任何问题,官方的文档也特别详细。(你看过那种只给案例的文档你就明白什么是好文档了)

BB 官方文档

BB数据注解

BB其实是面向后端管理开发的组件,特别适合用于企业级开发。可以说是小项目的特化版组件。

推荐开发技术

  • Blazor Server (SSR):服务端渲染,前后端不分离开发。
  • BoostrapBlazor:UI组件库
  • 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 EditDialogOption<T_Joint>(){Title = "节点编辑",Model = new T_Joint() { },RowType = RowType.Inline,ItemsPerRow = 2,ItemChangedType = ItemChangedType.Update,Items = Items,};await DialogService.ShowEditDialog(option);
}

使用效果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/104002.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jupyter notebook出现ERR_SSL_VERSION_OR_CIPHER_MISMATCH解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

软件测试架构师在实际工作中都做哪些事情呢?

软件测试架构师在实际工作中&#xff0c;都做哪些事情呢&#xff1f; 一家业务体系庞大、复杂的公司的测试架构师的职责主要有五个&#xff1a; 1、测试团队的技术带头人 测试架构师会关注整个团队的技术提升&#xff0c;包括技术难题的攻关&#xff0c;团队遇到的技术难题&…

(6)(6.3) 自动任务中的相机控制

文章目录 前言 6.3.1 概述 6.3.2 自动任务类型 6.3.3 创建合成图像 前言 本文介绍 ArduPilot 的相机和云台命令&#xff0c;并说明如何在 Mission Planner 中使用这些命令来定义相机勘测任务。这些说明假定已经连接并配置了相机触发器和云台(camera trigger and gimbal ha…

ORB-SLAM2报错集合(数据集测试系列1)

目录 错误1 错误2 错误3 错误4 错误5 错误6 错误7 错误8 TUM-RGBD测试 KITTI测试 EuRoC测试 写在前面~ ORB-SLAM2 github链接&#xff1a;GitHub - electech6/ORB_SLAM2_detailed_comments: Detailed comments for ORB-SLAM2 with trouble-shooting, key formula …

QChart:数据可视化(用图像形式显示数据内容)

1、数据可视化的图形有&#xff1a;柱状/线状/条形/面积/饼/点图、仪表盘、走势图&#xff0c;弦图、金字塔、预测曲线图、关系图、数学公式图、行政地图、GIS地图等。 2、在QT Creator的主页面&#xff0c;点击 欢迎》示例》右侧输入框 输入Chart&#xff0c;即可查看到QChar…

回归预测 | MATLAB实现SSA-RF麻雀搜索优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现SSA-RF麻雀搜索优化算法优化随机森林算法多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现SSA-RF麻雀搜索优化算法优化随机森林算法多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;…

数据结构—排序

8.排序 8.1排序的概念 什么是排序&#xff1f; 排序&#xff1a;将一组杂乱无章的数据按一定规律顺序排列起来。即&#xff0c;将无序序列排成一个有序序列&#xff08;由小到大或由大到小&#xff09;的运算。 如果参加排序的数据结点包含多个数据域&#xff0c;那么排序往…

Ubuntu18.04 交叉编译curl-7.61.0

下载 官方网址是&#xff1a;curl 安装依赖库 如果需要curl支持https协议&#xff0c;需要先交叉编译 openssl,编译流程如下&#xff1a; Ubuntu18.04 交叉编译openssl-1.1.1_我是谁&#xff1f;&#xff1f;的博客-CSDN博客 解压 # 解压&#xff1a; $tar -xzvf curl-7.61.…

【Go】Goland项目配置运行教程

Golang项目配置运行教程 1.安装Golang下载安装包安装 2.Goland配置2.1 环境2.2 goland配置2.2.1 没有makefile的情况2.2.2 有makefile的情况 3.跨平台项目4.补充 注意&#xff0c;本项目描述的是git clone下来的Golang项目配置运行教程&#xff0c;并不是从头创建一个Golang项目…

redis常用五种数据类型详解

目录 前言&#xff1a; string 相关命令 内部编码 应用场景 hash 相关命令 内部编码 应用场景 list 相关命令 内部编码 应用场景 set 相关命令 内部编码 应用场景 Zset 相关命令 内部编码 应用场景 渐进式遍历 前言&#xff1a; redis有多种数据类型&…

Cookie 和 Session 的工作流程

目录 一、Cookie是什么&#xff1f; 二、Session是什么? 三、Cookie的工作流程 四、Session的工作流程 五、Session和Cookie的区别和联系 一、Cookie是什么&#xff1f; Cookie是一种在网站和用户之间交换信息的机制。它是由Web服务器发送给用户浏览器的小型文本文件&#xff…

【leetcode 力扣刷题】反转链表+递归求解

反转链表递归求解 206. 反转链表解法①&#xff1a;取下一个节点在当前头节点前插入解法②&#xff1a;反转每个节点next的指向解法③&#xff1a;递归 92.反转链表Ⅱ反转left到right间节点的next指向 234.回文链表解法①&#xff1a;将链表元素存在数组中&#xff0c;在数组上…

解决idea登录github copilot报错问题

试了好多方案都没用&#xff0c;但是这个有用&#xff0c; 打开idea-help-edit custonm vm options 然后在这个文件里面输入 -Dcopilot.agent.disabledtrue再打开 https://github.com/settings/copilot 把这个设置成allow&#xff0c;然后重新尝试登录copilot就行就行 解决方…

【JVM 内存结构 | 程序计数器】

内存结构 前言简介程序计数器定义作用特点示例应用场景 主页传送门&#xff1a;&#x1f4c0; 传送 前言 Java 虚拟机的内存空间由 堆、栈、方法区、程序计数器和本地方法栈五部分组成。 简介 JVM&#xff08;Java Virtual Machine&#xff09;内存结构包括以下几个部分&#…

countDown+react+hook

道阻且长&#xff0c;行而不辍&#xff0c;未来可期 知识点一&#xff1a; new Date().getTime()可以得到得到1970年01月1日0点零分以来的毫秒数。单位是毫秒 new Date().getTime()/1000获取秒数1分钟60秒&#xff0c;1小时60分钟1hour:60*60>单位是秒 60*60*1000>单位…

Android 9.0 Vold挂载流程解析(下)

Android 9.0 Vold挂载流程解析&#xff08;上&#xff09; 前言 上一篇介绍了Android 文件系统中Vold挂载机制的总体框架&#xff0c;我们分析了vod进程的main.cpp.接下来我们分析下存储卡挂载和卸载的流程。 存储卡挂载 在上篇文章文章提到&#xff0c;监听驱动层挂载和卸…

opencv简单使用

cv2库安装&#xff0c; conda install opencv-python注意cv2使用时&#xff0c;路径不能有中文。&#xff08;不然会一直’None’ _ update # 处理中文路径问题 def cv_imread(file_path): #使用之前需要导入numpy、cv2库&#xff0c;file_path为包含中文的路径return cv2.imd…

蓝蓝设计ui设计公司作品--泛亚高科-光伏电站控制系统界面设计

泛亚高科(北京)科技有限公司&#xff08;以下简称“泛亚高科”&#xff09;&#xff0c;一个以实时监控、高精度数值计算为基础的科技公司&#xff0c; 自成立以来&#xff0c;组成了以博士、硕士为核心的技术团队&#xff0c;整合了华北电力大学等高校资源&#xff0c;凭借在电…

MFC——base编码和json数据

目录 1. JSON是什么 2. base64是什么 Base64是一种编解码算法 1. JSON是什么 JSON 是一种数据格式。采用完全独立于语言的文本格式, 因为易读, 易写, 易解析的特性成为理想的数据交换语言。主要有三种类型的值:简单值(字符串, 数字, 布尔, null), 对象, 数组。 长这样的数…

2023前端面试笔记 —— HTML5

系列文章目录 内容链接2023前端面试笔记HTML5 文章目录 系列文章目录前言一、HTML 文件中的 DOCTYPE 是什么作用二、HTML、XML、XHTML 之间有什么区别三、前缀为 data- 开头的元素属性是什么四、谈谈你对 HTML 语义化的理解五、HTML5 对比 HTML4 有哪些不同之处六、meta 标签有…