当前位置: 首页 > news >正文

ShenNiusModularity项目源码学习(28:ShenNius.Admin.Mvc项目分析-13)

  商品分类页面用于新建、维护及删除商城系统模块的商品所属分类,支持创建多级分类。商品分类页面的后台控制器类CategoryController位于ShenNius.Admin.Mvc项目的Areas\Shop\Controllers内,页面文件位于同项目的Areas\Shop\Views\Category内,其中Index.cshtml页面为主页面,Modify.cshtml页面用于新建或编辑商品分类信息,两个页面中调用的后台WebApi接口位于ShenNius.Admin.API项目的CategoryController,主要用到GetListPages(分页获取商品分类列表)、Add、Deletes、Modify、SoftDelete、GetAllParentCategory等函数。
在这里插入图片描述

  商品分类主页面的布局如下所示,上方为工具栏,下方显示商品分类表格。
在这里插入图片描述

  页面加载后,通过apiUtil.render函数调用WebApi函数GetListPages分页获取商品分类,并且专门设置商品分类名称列,点击该列可以触发编辑事件。页面中显示分类等级并没有使用树形控件,而是采用空格+"|–"的形式从视觉上呈现分类层级,该实现是在GetListPages函数内部调用ShenNius. Infrastructure项目的EntityExpand.ChildNode函数递归获取下级分类,并调用EntityExpand. LevelName函数设置分类名称。
在这里插入图片描述

  分别定义事件处理函数处理工具栏按钮点击事件及数据行中的按钮点击事件,添加和编辑按钮调用的都是Modify.cshtml页面,而删除按钮的话,点击工具栏中的删除按钮,处理逻辑是将选中的记录软删除,后续还能在回收站中恢复,而点击数据行中的删除按钮,则是直接删除数据库中的数据,无法恢复。
在这里插入图片描述

  添加按钮和编辑按钮都是用的Modify.cshtml页面,该页面中有两个特殊的操作。首先是选择所属父级,页面加载时调用common.js内的BindParentCategory函数,调用WebApi接口GetAllParentCategory获取多级商品分类列表填充下拉列表,同样和主页面中的分类名称一样,通过在名称前加空格+"|–"表达菜单层级;第二个是上传图片,点击上传图片按钮调用ShenNius.Admin.API项目的UploadController.File函数上传分类关联的图片文件,同时基于layui的上传组件进行图片预览。
  点击确认保存按钮,根据编辑页面中是否存在Id字段判断是添加操作还是编辑操作,前者的话调用WebApi接口Add新建分类,后者则调用Modify函数更新分类信息。
在这里插入图片描述

参考文献:
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity
[2]https://layui.dev/docs/2/upload/

http://www.dtcms.com/a/206088.html

相关文章:

  • IPv4 地址嵌入 IPv6 的前缀转换方式详解
  • 2025年全国青少年信息素养大赛C++小学全年级初赛试题(解析版)
  • flutter getx路由管理、状态管理、路由守卫中间件、永久储存get_storage
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的管理与运营策略研究
  • flutter dart 函数语法
  • CAD如何导出PDF?PDF如何转CAD?详细教程来了
  • 十五、Hive 窗口函数
  • Ctrl+鼠标滚动阻止页面放大/缩小
  • 算法第26天 | 贪心算法、455.分发饼干、376. 摆动序列、 53. 最大子序和
  • LeetCode:贪心算法
  • 贪心算法——分数背包问题
  • 元宇宙赛道新势力:芯谷产业园创新业务如何重构产业格局
  • 页面置换算法概述
  • CaDDN- Categorical Depth Distribution Network for Monocular 3D Object Detection
  • PYTORCH_CUDA_ALLOC_CONF基本原理和具体示例
  • DDR5和LPDDR5的CA采样时刻对比,含DDR5的1N/2N模式
  • redis搭建最小的集群,3主3从
  • 华为昇腾开发——多模型资源管理(C++)
  • flutter dart class语法说明、示例
  • 微信小程序 隐私协议弹窗授权
  • 关于数据仓库、数据湖、数据平台、数据中台和湖仓一体的概念和区别
  • 视频文件损坏怎么修复?4款专业视频修复工具推荐
  • 大模型应对大风等极端天气的卓越效果及其在能源预测中的特殊价值
  • 即将截稿|快速出版:IEEE 2025先进能源系统和电力电子国际会议(AESPE2025)
  • 广州能源所重大突破:闪蒸焦耳加热助力粉煤灰 / 赤泥中关键金属低碳回收
  • 数字孪生技术如何重塑能源产业?
  • 2025年气候持续大风,消纳减少,如何保收益?东润能源整体解决方案持续保收益保增长
  • 零碳办会新范式!第十届国际贸易发展论坛——生物能源和可持续发展专场,在京举办
  • SpringAI 大模型应用开发篇-SpringAI 项目的新手入门知识
  • Femap许可证兼容性问题