基于AntBlazor的学生在线练习系统实现过程的简单总结

news2025/7/19 15:42:21

前言        

疫情当前,作为一名教师,如何能让学生进行有效练习成了一个难题。如果使用 “问卷星”等线上调查问卷式的网站来做练习测试,是无法及时有效的进行,更谈不上对学生练习情况进行跟踪。鉴于以上现实情况和问题,感觉还不如自己动手做一个,顺便充充电学习一下很热的Blazor。

        整个系统的实现一边学一边写一边试用一边改,由于自己的web设计的知识还停留在好几代前,所以只能硬着头皮爬网文、看视频,发求助,每每濒到了崩溃边缘,兴有很多热心的大佬指点迷津,终于让我熬过来^_^。所以在此特别感谢帮助过我的所有人。

准备

1、UI框架的选择:

前几年用C#做winform 较多,所以选择blazor这种前后一体的技术来的更顺手些。于是一边学一边做,为了减轻设计负担,我开始进行UI框架的选择,经过多种框架的试用后最终选择了更灵活简介的 AntBlazor。这里要说明一下,国产的各种UI框架真的各有千秋,选择适合自己的就可以。

2、数据库一如既往使用Mysql,从差不多十年前我就用Net+mysql,看中的就是免费和速度。中间层使用的是自己写的DBHelper,还是习惯写sql

基本界面

1、上图看看系统的基本外观

学生端:

教师端

 

 得益于antBlazor统一而又简洁的组件设计,系统的界面看起来还不错,实现起来也是很轻松,多数组件可以直接拿过来用,自己只需要写执行代码就可以了。

在学生端,为了提高题目操作的便捷,本人自己定义了自定义组件两个组件:

1)选题用的圆形按钮组

2)题目选项的选项按钮组

本来使用antBlazor的组件基本能够满足使用,但是为了更直观的体现答题的正误的不同,所以给选题原型按钮增加了正误颜色显示进行区分,同样的题目选项也增加了正误颜色。

通过这两个自定义组件的实现,感觉blazor的组件复用真的很方便。另外,也感受到了数据驱动页面的实现方式和已有的jquery那种直接的页面元素操作的不同,习惯转换还是需要一定的时间。

服务器端,为了更直观地显示学生的练习情况,使用了进度条组件,在使用中,因为带文字的进度条的文字位置是固定的,只好自己使用css 进行了修正。

题目编辑器

在我做系统的时候,编辑题目需要能够方便复制截图或word文档内容中的图片,为此也是使用了好多开源的blazor 下的编辑器,最终还是采用了ueditor-blazor,虽然不完美,好在能够满足自己需要了。

选择题编辑中,系统输入选项的文字可以自动根据输入的内容自动生成,填空题编辑中,也是根据题目内容中留出的空自动生成填空输入框。

  

 我编辑器的工具条的自定义,可以根据需要保留自己需要的按钮,这时就需要修改下图中的配置文件,把不需要的toolbar中的选项注释掉

 系统 的部署

 blazor程序打包后,可以很方便地在IIS下的进行部署,基本方法和普通的net网站一样。

只是需要先安装先用的支持文件 dotnet-hosting-6.0.1-win.exe,然后将网站的编辑"应用程序池"的"基本设置",修改".NET Framework 版本"为"无托管代码"

总之,只要有信心 加上自己的努力,问题总是能够克服的。

疫情也终将过去,明天会更好!

再次感谢给予我帮助的所有朋友!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

神经网络和深度学习-用pytorch实现线性回归

用pytorch实现线性回归 用pytorch的工具包来实现线性模型的训练过程 准备数据集 设计模型 构造损失函数和优化器(使用pytorch API) 训练过程:前馈、反馈、更新 准备数据 在PyTorch中,计算图是小批处理的,所以X和…

MATLAB | 世界杯来用MATLAB画个足球玩叭~

世界杯教你用MATLAB画个超逼真的足球, 需要准备Partial Differential Equation Toolbox工具箱,同时因为用到了polyshape类所以至少需要R2017b版本。 绘制讲解 数据来源及说明 我是真的不想写注释了太麻烦了,给大家讲一下我的思路希望能够看…

判断一个时间段是否经过了另一个时间段

场景: IOT设备存在离线与恢复时间记录,每一次离线和恢复记为一个周期即一条数据, 现在需要统计出在某个时段存在离线记录的数据,如果目前未恢复,没有恢复时间,恢复时间置为9999-01-01 00:00:00 原始数据如下(t_offline_record):…

OPengl学习——初识opengl

文章目录1、网站罗列2、一些词语解析1.入门概念2.Opengl Vs DirectX3、QOpenGLWidget4、引用**OpenGL(Open Graphics Library)*是一个跨编程语言、跨平台的编程图形程序接口,它将计算机的资源抽象称为一个个OpenGL的对象,对这些资…

3.5、点对点协议 PPP

3.5、点对点协议 PPP 3.5.1、基本介绍 点对点协议 PPP(Point-to-Point Protocol) 是目前使用最广泛的点对点数据链路层协议。 用户计算机只有获取到 ISP 所分配的合法 IP 地址后,才能成为因特网上的主机 用户计算机与 ISP 进行通信时,所使用的数据链路…

【学习笔记21】JavaScript数组的基本方法

笔记首发 一、push:末位新增 语法: 数组.push(数据)作用: 向数组末尾添加数据返回值: 追加数据后, 数组最新的长度 var arr [10, 20, 30, 40];console.log(原始数组: , arr); ​var num arr.push(500);console.log(push新增后数组: , arr);console.log(push的返回…

进程的初识

目录预备知识 -> 操作系统操作系统的定义操作系统的定位进程进程的概念进程调度的过程进程的管理描述组织PCB描述进程的特征进程调度的相关属性进程的状态优先级上下文记账信息预备知识 -> 操作系统 操作系统的定义 操作系统是一个搞管理的软件 对上,要对硬…

为什么一定要申请专利呢

问题一:如何避免被判为非正常专利? 原本有个发明创造,想申请专利,却被列入非正常申请,甚至违法。以下五种情况一定要注意,千万不能碰。 1、同一单位或个人申请多件明显抄袭现有技术的专利; 2…

如何通过 Java 合并和取消合并 Excel 单元格

在整理 Excel 中的数据时,我们不可避免地需要合并和取消合并单元格。同时,如果需要创建跨列或行的标题,我们可以合并 Excel 单元格以在电子表格中轻松完成此操作。 合并单元格是指将两个或多个单元格合并为一个单元格,而取消合并单…

4.4——数据库和前后端身份认证

目录数据库与身份认证数据库的基本概念什么是数据库常见的数据库及分类传统型数据库的数据组织结构安装并配置 MySQL使用 MySQL Workbench 管理数据库连接数据库了解主界面的组成部分创建数据库创建数据表向表中写入数据使用 SQL 管理数据库在项目中操作 MySQL安装与配置 mysql…

华为机试 - 数大雁

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 一群大雁往南飞,给定一个字符串记录地面上的游客听到的大雁叫声,请给出叫声最少由几只大雁发出。 具体的: 1.大雁发出的完整叫声为”quack“,因为有多只大雁同一时…

怎么还不会进制转换,进来学。

✨进制转换,深度讲解✨特殊的十进制转换(整数)一、十进制转换为其他进制二、其他进制转换为十进制二进制的特殊转换(整数)一、二进制转换为其他进制二、其他进制转换为二进制任意进制的转换(整数&#xff0…

Java项目:JSP高校新生报到迎新管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 辅导员角色包含以下功能: 辅导员登录,学生留言管理,新生报到管理,宿舍分配管理等功能。 财务管理角色包含以下功能: 财务…

一道Android题目逆向动态调试

题目来源于海淀区网络与信息安全管理员大赛,题目中将加密验证算法打包进.so,在程序中动态调用check。 本题目通过System.loadLibrary(“native-lib”)加载了libnative-lib.so文件,该文件通过jeb可以实现提取 图1 题目关键代码 调试环境选择…

【矩阵论】4.矩阵运算——广义逆——定义性质与特殊矩阵的广义逆

4.3 广义逆 4.3.1 定义 若mn矩阵AAmn与矩阵XXnm满足四个条件①AXAA,②XAXX,③(AX)HAX,④(XA)HXA则X为A的加号逆(广义逆),记为XA\begin{aligned} &若 m\times n 矩阵AA_{m\times n} 与矩阵 XX_{n\times m} 满足四个条件\\ &①AXAA,\quad ② XAXX…

以太坊:轻松理解EIP-4844

以太坊:轻松理解EIP-4844 以太坊网络在不断发展,多年来已经提出了许多技术提案。其中一个提案是由Vitalik Buterin提出的EIP-4844,它关注的是分片技术。 什么是EIP-4844,它将如何影响以太坊网络及其用户的未来?以下是…

体系结构28_多处理机(2)

对称式共享存储器体系结构 多处理机Cache一致性 **多个处理器共享一个存储器 **当处理器规模较小时,这种机器十分经济 **支持对共享数据和私有数据的Cache缓存 私有数据供一个单独的处理器使用,而共享数据供多个处理器使用 ** 共享数据进入Cache产生了一…

LeetCode 654.最大二叉树 617合并二叉树 700二叉搜索树中的搜索 98验证二叉搜索树

文章目录654最大二叉树c代码实现python 代码实现617合并二叉树c 代码实现python 代码实现700二叉搜索树中的搜索c代码实现python 代码实现98验证二叉搜索树c 代码实现python 代码实现654最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归…

[附源码]java毕业设计在线购物商城

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

[附源码]java毕业设计疫情居家隔离服务系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…