图书管理系统源码,图书管理系统开发,图书借阅系统源码四TuShuManager应用程序MVC视图View
Asp.net web应用程序MVC之View视图
.ASP.NET MVC页面也就是要说的视图基本被放在Views文件夹下;
2.利用APS.NET MVC模板生成框架,Views文件夹下的默认页面为.cshtml页面;
3.ASP.NET MVC默认页面为Razor格式的页面,因此默认页面为.cshtml页面;
4.ASP.NET MVC中,支持WebForm页面,即.aspx页面;
5.ASP.NET MVC中,支持静态html页面;
注意这里使用的是.cshtml页面的视图
ReaderCatgory.cshtml视图页面
该视图是分类的页面视图主要代码是
<script>function ReaderCatgoryadd() {layer.open({type: 2,area: ['700px', '550px'],fixed: false, //不固定title: '读者类型新增',maxmin: true,content: '/Reader/ReaderCatgoryAdd'});}layui.use(['table', 'layer', 'laydate'], function () {var table = layui.table;var layer = layui.layer//弹层;, laydate = layui.laydate;var $ = layui.jquery;table.render({elem: '#test', url: '/Reader/ReaderCatgoryData' //数据接口, method: 'post',title: '用户数据表', cols: [[{ field: 'id', style: 'display:none;' }, { field: 'zizeng', width: 60, title: '编号', fixed: true, templet: '#zizeng' }, { field: 'rname', title: '用户名称', width: 90 },{ field: 'rnum', title: '借书次数', width:120 },{ field: 'rday', title: '借书天数', width: 190 },{ field: 'rxnum', title: '续借次数', width: 90 },{ field: 'idate', title: '注册日期', width: 200, sort: true},, { fixed: 'right', title: '操作', align: 'right', toolbar: '#barDemo', width: 90 }]], page: true,done: function (res, curr, count) {// 隐藏列$(".layui-table-box").find("[data-field='id']").css("display", "none");}});//监听行工具事件table.on('tool(test)', function (obj) {var data = obj.data;//console.log(obj)//if (obj.event === 'detail') {// layer.msg('查看操作');//}if (obj.event === 'del') {layer.confirm('真的删除行么', function (index) {obj.del();layer.close(index);$.ajax({url: "ReaderCatgoryDelete",type: 'post',data: data,dataType: "json",/* beforeSend:function () {this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] });},*/success: function (data) {if (data == "2") {layer.msg("删除失败", { icon: 5 });//失败的表情return;} else if (data == '1') {layer.msg("删除成功", {icon: 6,//成功的表情time: 1000 //1秒关闭(如果不配置,默认是3秒)}, function () {//location.href = "/jifenq/shiwan";//location.reload();});}},complete: function () {layer.close(this.layerIndex);},});});} else if (obj.event === 'edit') {//window.location.href = "/systemconfig/adminuserEdit/?id=" + data.id + "";layer.open({type: 2,area: ['700px', '550px'],fixed: false, //不固定title: '读者分类修改',maxmin: true,content: '/Reader/ReaderCatgoryEdit/?id=' + data.id});}});$('.demoTable .layui-btn').on('click', function () {var type = $(this).data('type');active[type] ? active[type].call(this) : '';});});
</script>
使用的是layui框架渲染数据展示列表,layui默认显示数据格式如下
使用的是其中的方法渲染
简单说一下如何使用,主要调用
table.render({elem: '#test', url: '/Reader/ReaderCatgoryData' //数据接口, method: 'post',title: '用户数据表', cols: [[{ field: 'id', style: 'display:none;' }, { field: 'zizeng', width: 60, title: '编号', fixed: true, templet: '#zizeng' }, { field: 'rname', title: '用户名称', width: 90 },{ field: 'rnum', title: '借书次数', width:120 },{ field: 'rday', title: '借书天数', width: 190 },{ field: 'rxnum', title: '续借次数', width: 90 },{ field: 'idate', title: '注册日期', width: 200, sort: true},, { fixed: 'right', title: '操作', align: 'right', toolbar: '#barDemo', width: 90 }]], page: true,done: function (res, curr, count) {// 隐藏列$(".layui-table-box").find("[data-field='id']").css("display", "none");}});
其中url是访问控制器方法后,返回的json格式的数据
然后展示在绑定的elem:"#test"元素
<table class="layui-hide" id="test" lay-filter="test"></table><script type="text/html" id="zizeng">{{d.LAY_TABLE_INDEX+1}}</script><script type="text/html" id="barDemo">@*<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>*@<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></script>
ReaderCatgoryAdd.cshtml页面
页面是访问添加的视图,操作增加的页面
<link href="~/content/layui/css/layui.css" rel="stylesheet" />
<script src="~/content/layui/layui.js"></script>
<script src="~/content/layui/jquery.min.js"></script>
<div style="margin-top:20px;"><!-- 内容主体区域 --><form class="layui-form" action=""><div class="layui-form-item"><div class="layui-form-item"><label class="layui-form-label">类型名称</label><div class="layui-input-block"><input type="text" name="rname" lay-verify="required" autocomplete="off" placeholder="" class="layui-input"></div></div></div><div class="layui-form-item"><label class="layui-form-label">借书次数</label><div class="layui-input-block"><input type="text" name="rnum" autocomplete="off" placeholder="" class="layui-input"></div></div><div class="layui-form-item"><label class="layui-form-label">借书天数</label><div class="layui-input-block"><input type="text" name="rday" autocomplete="off" placeholder="" class="layui-input"></div></div><div class="layui-form-item"><label class="layui-form-label">续借次数</label><div class="layui-input-block"><input type="text" name="rxnum" autocomplete="off" placeholder="" class="layui-input"></div></div><div class="layui-form-item"><label class="layui-form-label">注册时间</label><div class="layui-input-block"><input type="text" class="layui-input" id="idate" name="idate"></div></div><div class="layui-form-item"><div class="layui-input-block"><button class="layui-btn" lay-submit="" lay-filter="demo1" id="tijiao">立即提交</button><button class="layui-btn layui-btn-primary" id="closeIframe">关闭</button></div></div></form></div><script>layui.use(['form', 'layedit', 'laydate', 'element'], function () {var form = layui.form, layer = layui.layer, layedit = layui.layedit, laydate = layui.laydate;var element = layui.element;var $ = layui.jquery, form = layui.form;//日期laydate.render({elem: '#idate', type: 'datetime', value: new Date()});laydate.render({elem: '#date1'});//创建一个编辑器var editIndex = layedit.build('LAY_demo_editor');//监听提交form.on('submit(demo1)', function (data) {//layer.msg(JSON.toString(base64img));var userInfo = data.field;var url = "/Reader/ReaderCatgorySave";$.ajax({url: url,type: 'post',data: userInfo,dataType: "json",/* beforeSend:function () {this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] });},*/success: function (data) {if (data == "2") {layer.msg("增加失败", { icon: 5 });//失败的表情return;} else if (data == '1') {layer.msg("添加成功", {icon: 6,//成功的表情time: 1000 //1秒关闭(如果不配置,默认是3秒)}, function () {var index = parent.layer.getFrameIndex(window.name); //获取窗口索引parent.location.reload();parent.layer.close(index);//location.href = "/systemconfig/index";});}},complete: function () {layer.close(this.layerIndex);},});return false;//阻止表单跳转链接!//layer.msg($('#appimg').val());/* layer.alert(JSON.stringify(data.field), {title: '最终的提交信息'})return false;*/});//表单初始赋值/* form.val('example', {"username": "贤心" // "name": "value","password": "123456","interest": 1,"like[write]": true //复选框选中状态,"close": true //开关状态,"sex": "女","desc": "我爱 layui"})*/});
</script>
其中
//监听提交form.on('submit(demo1)', function (data) {//layer.msg(JSON.toString(base64img));var userInfo = data.field;var url = "/Reader/ReaderCatgorySave";
form.on监听的是页面提交按钮的事件。调用url = "/Reader/ReaderCatgorySave";前面说到的控制器ReaderController.cs中ReaderCatgorySave保存方法
ReaderCatgoryEdit.cshtml页面
修改页面和前面增加页面原理差不多一样
相关文章:

图书管理系统源码,图书管理系统开发,图书借阅系统源码四TuShuManager应用程序MVC视图View
Asp.net web应用程序MVC之View视图 .ASP.NET MVC页面也就是要说的视图基本被放在Views文件夹下; 2.利用APS.NET MVC模板生成框架,Views文件夹下的默认页面为.cshtml页面; 3.ASP.NET MVC默认页面为Razor格式的页面,因此默认页面为.…...

Visual Studio2010保姆式安装教程(VS2010 旗舰版),以及如何运行第一个C语言程序,超详细
安装前请关闭杀毒软件,系统防火墙,断开网络连接 参考链接:请点击 下载链接: 通过百度网盘分享的文件:VS2010.zip 链接:https://pan.baidu.com/s/1yQUUCxMJP7FMaistFX94SQ 提取码:96ga 复制这段内容打开「百度网盘APP …...

第四节HarmonyOS 熟知开发工具DevEco Studio
一、设置主体样式 默认的代码主题样式是黑暗系的,如下图所示: 如果你不喜欢,可以按照一下步骤进行修改: 左上角点击Flie->Settings->Appearance&Behavior->Appearance,点击Theme,在弹出的下拉…...

安防视频监控/视频融合/云存储EasyCVR页面数据显示不全该如何解决?
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...

vatee万腾的数字化奇点:Vatee科技的前沿创新之路
随着科技迅猛发展,Vatee万腾在数字化领域创造了引人注目的新迹。Vatee以其独特的数字化力量,引领着科技创新的前沿,为未来的数字化社会描绘着崭新的画卷。 Vatee的数字化力量体现在其对技术的深刻理解和前瞻性思维上。通过持续的技术探索和创…...

C#,《小白学程序》第六课:队列(Queue)其二,队列的应用,编写《实时叫号系统》
医院里面常见的《叫号系统》怎么实现的? 1 文本格式 /// <summary> /// 下面定义一个新的队列,用于演示《实时叫号系统》 /// </summary> Queue<Classmate> q2 new Queue<Classmate>(); /// <summary> /// 《小白学程序…...
打造数字人偶像的意义与影响
在数字化时代,数字人偶像的兴起引发了广泛的关注和讨论。数字人偶像是通过人工智能技术生成真人形象1:1还原的数字人,拥有偶像的外貌、声音和个性。本文将探讨为什么要打造数字人偶像以及其意义与影响。 技术支持:zhibo175 一、…...
Spring加载Bean的多种方式
文章目录 1. XML方式定义2. 使用Component ComponentScan3. 使用Configuration Bean4. 使用FactoryBean的方式加载bean5. Import方式6. Import ImportSelector7. Import ImportBeanDefinitionRegistrar8. 实现接口BeanDefinitionRegistryPostProcessor9. 实现接口BeanFacto…...

minio分布式存储系统
目录 拉取docker镜像 minio所需要的依赖 文件存放的位置 手动上传文件到minio中 工具类上传 yml配置 config类 service类 启动类 测试类 图片 视频 删除minio服务器的文件 下载minio服务器的文件 拉取docker镜像 拉取稳定版本:docker pull minio/minio:RELEASE.20…...

Kafka 如何保证消息消费的全局顺序性
哈喽大家好,我是咸鱼 今天我们继续来讲一讲 Kafka 当有消息被生产出来的时候,如果没有指定分区或者指定 key ,那么消费会按照【轮询】的方式均匀地分配到所有可用分区中,但不一定按照分区顺序来分配 我们知道,在 Kaf…...
boa+cgi上传文件超过1M报错问题
写在前面 今天需要使用页面上传bin包,文件大概是3.9mb,结果一直报错 POST /cgi-bin/Upgrade.cgi undefined Host: 192.168.137.200:8888 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0 Accept: text/h…...

抖去推--短视频账号矩阵系统saas工具源码技术开发(源头)
一、短视频矩阵系统搭建常见问题? 1、抖去推的短视频AI矩阵营销软件需要一定的技术水平吗? 答:不需要。产品简单易用,不需要具备专业的技术水平,即使是初学者,也能够轻松上手操作。 3、抖去推的短视频AI矩…...

【服务器能干什么】搭建一个短网址平台,可以查看数据详情!
昨天在 YouTube 上看到又一个搭建自己短网址的视频教程,用的是开源的 polr,但是按照步骤一步步搭建下来,最后一步都会出现 顺哥轻创 PLAINTEXT Whoops, looks like something went wrong百度、谷歌查了一圈也没找到有效的解决方法。&#x…...

MySQL备份与恢复(重点)
MySQL备份与恢复(重点) 一、用户管理与权限管理 ☆ 用户管理 1、创建MySQL用户 注意:MySQL中不能单纯通过用户名来说明用户,必须要加上主机。如jack10.1.1.1 基本语法: mysql> create user 用户名被允许连接的主…...

机器学习中的特征选择:方法和 Python 示例
布拉加德什桑达拉拉詹 一、说明 特征选择是机器学习流程中至关重要且经常被低估的步骤。它涉及从数据集中的原始特征集中选择最相关的特征(输入变量或属性)的子集。特征选择的重要性怎么强调都不为过,因为它直接影响机器学习模型的质量、效率…...

有哪些不错的golang开源项目?
前言 下面是github上的golang项目,适合练手,可以自己选择一些项目去练习,整理不易,希望能多多点赞收藏一下!废话少说,我们直接进入正题>>> 先推荐几个教程性质的项目(用于新手学习、…...

解决ssh使用public key远程登录服务器拒绝问题
目录 使用场景windows安装ssh客户端使用powershell ssh登录服务器生成密钥文件ubuntu ssh服务器配置使用vscode远程登录使用Xshell远程登录使用MobaXtem远程登录Server refused our key问题解决方案 使用场景 使用vscode远程ssh登录使用public key不需要输入密码,比较方便. w…...

js数组中,相同id的item数据合并
原数据: const list [ {id:1, key: a}, {id:1, key: b}, {id:2, key: c}, {id:2, key: d}, ]期望数据格式 const newList [ {id:1, keyList: [a,b]}, {id:2, keyList: [c,d]}, ]// 相同id的数据合并let newList_(list ).flatten().groupBy(id).map(_.spread((..…...

LeetCode(33)最小覆盖子串【滑动窗口】【困难】
目录 1.题目2.答案3.提交结果截图 链接: 76. 最小覆盖子串 1.题目 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字…...
设计模式 创建者模式
设计模式 创建者模式 前言原来代码使用设计模式总结Builder模式在源码中的应用:其他代码 前言 “对象创建”模式——绕开new 工厂模式 抽象工厂 原型模式 构建器 动机与背景 目前需要建造一个房子,建造房子需要一系列特定的步骤,但是房子的类…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...

Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...