开源博客项目Blog .NET Core源码学习(22:App.Hosting项目结构分析-10)

news2025/3/15 19:23:03

  本文学习并分析App.Hosting项目中后台管理页面的通知公告维护页面、友情链接维护页面。

通知公告维护页面

  通知公告维护页面用于显示、检索、新建、编辑、删除通知公告数据,以便在前台页面的首页循环显示通知公告。通知公告维护页面附带一新建及编辑页面,以支撑新建和编辑通知公告数据。整个页面使用了layui中的表格、表单等样式或模块,并未使用独立的js文件,而是直接在页面内嵌js代码,并调用BlogManage/NoticeController的相关函数处理数据。
在这里插入图片描述
  通知公告维护页面的上半部分显示搜索框,下半部分以表格形式显示全部通知公告数据或者检索结果。
在这里插入图片描述
  内置的js代码主要用于设置表格样式及处理事件,同时处理搜索事件。调用layui的table.render函数设置表格样式,主要包括:
  1)用elem属性设置表格容器元素,同时用url设置调用BlogManage/NoticeController的Index函数分页获取所有通知公告数据;
  2)用limit、limits、page属性设置数据分页显示;
  3)用toolbar属性设置头部工具栏,指定的元素id定义在_AminLayout.cshtml内,且根据不同的页面显示不同的工具栏内容,在本页面中工具栏中有添加按钮(按钮在系统管理->按钮管理中配置);
  4)用where属性设置调用Index时附加的其它参数;
  5)用cols属性设置表格显示列,其中第一列采用type:‘number’设置为序号列,其它列对应Index函数返回值的属性并以sort属性设置可排序性,最后一列用templet属性以模版选择器形式指定_AminLayout.cshtml文件中定义的按钮模版(按钮在系统管理->按钮管理中配置)。

在这里插入图片描述
  除上述设置之外,还定义了工具栏、操作按钮、排序事件、检索按钮的响应函数,排序和检索的处理逻辑类似,使用table.reload调用BlogManage/NoticeController的Index函数获取并显示结果,其余的添加、编辑和删除按钮中,删除按钮的事件处理函数逻辑为调用BlogManage/NoticeController的Delete函数删除数据,然后使用table.reload重载页面数据。
在这里插入图片描述
  新建和编辑通知公告数据使用的同一页面,位置为BlogManage\Views\Notice\Form.cshtml页面,使用layui的表单组件设置样式。如果是新建通知公告,则直接弹出页面,主页面会通过url传递total参数以初始化新数据的默认顺序号,而编辑数据的话,主页面会通过url传递key参数,在编辑页面中调用BlogManage/NoticeController的Detail函数获取通知公告数据初始化编辑页面的对应元素数据。新建或编辑完成后,主页面的js中设置了回调函数,最终调用BlogManage/NoticeController的Form函数新增或更新数据。
在这里插入图片描述

友情链接维护页面

  友情链接维护页面用于显示、检索、新建、编辑、删除友情链接数据,以便在前台页面的首页显示友情链接。友情链接维护页面附带一新建及编辑页面,以支撑新建和编辑友情链接数据。整个页面使用了layui中的表格、表单等样式或模块,并未使用独立的js文件,而是直接在页面内嵌js代码,并调用BlogManage/FriendLinkController的相关函数处理数据。
在这里插入图片描述
  友情链接维护页面的上半部分显示搜索框,下半部分以表格形式显示全部友情链接数据或者检索结果。
在这里插入图片描述
  内置的js代码主要用于设置表格样式及处理事件,同时处理搜索事件。调用layui的table.render函数设置表格样式,主要包括:
  1)用elem属性设置表格容器元素,同时用url设置调用BlogManage/FriendLinkController的Index函数分页获取所有通知公告数据;
  2)用limit、limits、page属性设置数据分页显示;
  3)用toolbar属性设置头部工具栏,指定的元素id定义在_AminLayout.cshtml内,且根据不同的页面显示不同的工具栏内容,在本页面中工具栏中有添加按钮(按钮在系统管理->按钮管理中配置);
  4)用where属性设置调用Index时附加的其它参数;
  5)用cols属性设置表格显示列,其中第一列采用type:‘number’设置为序号列,其它列对应Index函数返回值的属性并以sort属性设置可排序性,最后一列用templet属性以模版选择器形式指定_AminLayout.cshtml文件中定义的按钮模版(按钮在系统管理->按钮管理中配置)。

在这里插入图片描述
  除上述设置之外,还定义了工具栏、操作按钮、排序事件、检索按钮的响应函数,排序和检索的处理逻辑类似,使用table.reload调用BlogManage/FriendLinkController的Index函数获取并显示结果,其余的添加、编辑和删除按钮中,删除按钮的事件处理函数逻辑为调用BlogManage/ FriendLinkController的Delete函数删除数据,然后使用table.reload重载页面数据。
在这里插入图片描述
  新建和编辑友情链接数据使用的同一页面,位置为BlogManage\Views\FriendLink\Form.cshtml页面,使用layui的表单组件设置样式。如果是新建友情链接,则直接弹出页面,主页面会通过url传递total参数以初始化新数据的默认顺序号,而编辑数据的话,主页面会通过url传递key参数,在编辑页面中调用BlogManage/FriendLinkController的Detail函数获取友情链接数据初始化编辑页面的对应元素数据。新建或编辑完成后,主页面的js中设置了回调函数,最终调用BlogManage/FriendLinkController的Form函数新增或更新数据。
在这里插入图片描述

参考文献:
[1]https://gitee.com/miss_you/Blog
[2]https://layui.dev/docs/2/

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

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

相关文章

hsql学习笔记

1. row_number() over (partition by uid order by dt 分析: row_number(): 这是一个窗口函数,用于为结果集中的每一行分配一个唯一的序号。默认情况下,这个序号是按照查询结果的顺序来分配的,但你可以通过OVER()子句…

docker搭建私有仓库并推送本地镜像

1、私仓搭建 docker pull registry#拉取镜像 docker images#查看镜像 mkdir -p /czx/myregistry 创建挂载目录 运行私有库registry (相当于本地有个是有docker hub) docker run -d -p 5000:5000 -v /czx/myregistry/:/tmp/registry --restartalways --privilegedtrue regist…

如何利用GitHubAction来发布自己的Python软件包

我们开发的python软件包如果想发布到网上,可以让其他人通过pip install下载,一般是把软件包发布到PYPI平台。 PYPI准备 我们要现在pypi注册登录一下 文件组织架构 一般的python软件包的文件组织架构为包名文件夹__init__.py程序,包文件夹的…

让写书人勇敢穿越纸海的迷雾

坚守纸海:让写书人勇敢穿越纸海的迷雾 你作为一位写书人,在创作过程中你需要坚守初心是非常重要的。在创作的过程中,你会遇到各种挑战和困难,你要勇敢面对迷雾中的挑战,并通过不懈的努力和决心,成功地穿越…

从反向传播(BP)到BPTT:详细数学推导【原理理解】

从反向传播到BPTT:详细推导与问题解析 在本文中,我们将从反向传播算法开始,详细推导出反向传播通过时间(Backpropagation Through Time, BPTT)算法。重点讨论BPTT中的梯度消失和梯度爆炸问题,并解释如何解…

[Linux]Crond任务调度以及at任务调度

一.crond任务定时调度 crond是反复检测执行的,一个任务结束后,在所规定的时间之后会再次执行 crontab 指令可以给系统分配定时任务 crontab -e 进入编辑页面,设定任务 crontab -l 查看已有定时任务 crontab -r 删除所有任务 编辑时&#xff…

清华新突破||新研究揭示多智能体协作的秘密武器

获取本文论文原文PDF,请在公众号【AI论文解读】留言:论文解读点击订阅:人工智能论文解读合集 引言:多智能体协作中的挑战与机遇 在多智能体系统中,智能体需要通过协作来完成复杂的任务,这种协作涉及到通信…

二叉树链式结构补充

1.二叉树k层结点个数 2.二叉树查找值为x的结点 3.二叉树基础oj练习 1.二叉树k层结点个数 设置k值,k层到1结点的值是k-1,所以1结点到k层的结点也是k-1的距离(高度),这样就可以每下一层就把k值减少一个单位&#xff0…

MySQL的数据库和表

查看数据库 命令行的方式: cd /mysql/bin mysql.exe -uroot -p IP(不是连接自己) 端口(不是3306) show databases; 直接使用图形化界面点击: 查看库里的表 使用命令行查看: 进入mysql数据库 u…

C++ AVLTree

目录 介绍 节点的定义 AVLTree结构 Insert 插入节点 调节平衡因子 void rotateR(node* parent) void rotateL(node* parent) void rotateRL(node* parent) void rotateLR(node* parent) void InOrder() int height() int size() bool isBalance() 介绍 如果是有序插…

python web自动化(Allure报告)

Allure详细安装请看之前的博客 1.Allure配置与⼊⻔ 运⾏⽤例,⽣成allure报告 pip install allure-pytest -i https://mirrors.aliyun.com/pypi/simple/ 运⾏⽤例,⽣成allure报告 # main.py import os import pytest if __name__ __m…

【排序算法】——归并排序(递归与非递归)含动图

制作不易,三连支持一下吧!!! 文章目录 前言一.归并排序递归方法实现二.归并排序非递归方法实现 前言 这篇博客我们将介绍归并排序的原理和实现过程。 一、归并排序递归方法实现 基本思想: 归并排序(MERGE-…

四元数学习总结(1)

导语:相比矩阵,用四元数处理3D旋转的优势是毋庸置疑的,但由于概念复杂,难于理解,一直令我摸不着头脑。最近学习更是发现在机器人、无人机、SLAM等先进领域,四元数被当成实数、整数这样的基础,所…

jmeter安装SSH插件

安装SSH插件 下载jar包: ApacheJMeter-ssh-1.2.0.jar jsch-0.1.55.jar jar包放在jmeter安装路径 lib下和lib/ext文件夹下: 重启jmeter即可:

BGP选路实验

BGP 选路实验 一、实验拓扑 二、实验要求及分析 实验要求: 1、使用preva1策略,确保R4通过R2到达192.168.10.0/24 2、使用AS_Path策略,确保R4通过R3到达192.168.11.0/24 3、配置MED策略,确保R4通过R3到达192.168.12.0/24 4、…

软考-必须要背的内容

一、设计模式 1、创建型 抽象工厂:提供一个接口,创建一系列的相关相互依赖的对象,无需指定具体的类; eg:系统软件,支持多种数据库 生成器:将一个复杂类的表示与构造相分离,使得相…

PX4使用yolo仿真环境搭建

文章目录 前言一、修改机架sdf文件二、安装yolo三、运行 前言 ubuntu20.04 PX4 1.13.3 已配置好PX4 ROS gazebo环境 一、修改机架sdf文件 将双目相机加到仿真的iris机架上 修改下图文件 添加如下&#xff1a; <include><uri>model://stereo_camera</uri>…

D - AtCoder Wallpaper(abc)

思路&#xff1a;f(c, d) f(a, b) - f(a, d) - f(c, b) 代码&#xff1a; int f(int x, int y){if(y % 2 0){y y / 2;int ans y * (x / 4) * 8;x % 4;if(x 1){ans y * 3;}else if(x 2){ans y * 6;}else if(x 3){ans y * 7;}return ans;}else{y / 2;int ans y * (x…

从零开始搭建Springboot项目脚手架4:保存操作日志

目的&#xff1a;通过AOP切面&#xff0c;统一记录接口的访问日志 1、加maven依赖 2、 增加日志类RequestLog 3、 配置AOP切面&#xff0c;把请求前的request、返回的response一起记录 package com.template.common.config;import cn.hutool.core.util.ArrayUtil; import cn.hu…

Go语言的内存泄漏如何检测和避免?

文章目录 Go语言内存泄漏的检测与避免一、内存泄漏的检测1. 使用性能分析工具2. 使用内存泄漏检测工具3. 代码审查与测试 二、内存泄漏的避免1. 使用defer关键字2. 使用垃圾回收机制3. 避免循环引用4. 使用缓冲池 Go语言内存泄漏的检测与避免 在Go语言开发中&#xff0c;内存泄…