ShenNiusModularity项目源码学习(25:ShenNius.Admin.Mvc项目分析-10)
本文学习并分析ShenNiusModularity项目中的留言管理页面、回收站页面。
1、留言管理页面
留言管理页面用于检索、删除系统中的留言数据,该页面对应的文件Index.cshtml位于ShenNius.Admin.Mvc项目的Areas\Cms\Views\Message内。页面使用的控制器类MessageController.cs位于Areas\Cms\Controllers内,页面调用的WebApi接口是ShenNius.Admin.API项目内Controllers\Cms的MessageController.cs,主要使用其中的Deletes、SoftDelete、GetListPages等函数。
主页面布局方面:上方为搜索栏,中间为工具栏,下面是数据表格显示区域。页面加载后,调用WebApi接口GetListPages分页获取留言数据。搜索按钮事件处理函数其实就是调用table.reload重新加载表格数据,同时将搜索栏条件传入后台服务按条件检索。
分别定义事件处理函数处理工具栏按钮点击事件及数据行中的按钮点击事件,点击工具栏中的删除按钮,处理逻辑是将选中的记录软删除,后续还能在回收站中恢复,而点击数据行中的删除按钮,则是直接删除数据库中的数据,无法恢复。
2、回收站页面
回收站页面用于检索、删除、还原系统中所有被软删除的数据,该页面对应的文件Index.cshtml位于ShenNius.Admin.Mvc项目的Areas\Sys\Views\Recycle内,页面使用的控制器类RecycleController.cs位于Areas\Sys\Controllers内,页面调用的WebApi接口是ShenNius.Admin.API项目内Controllers\Sys的RecycleController.cs,主要使用其中的Deletes、Restore、GetListPages等函数。
主页面布局方面:上方为搜索栏,中间为工具栏,下面是数据表格显示区域。页面加载后,调用WebApi接口GetListPages分页获取软删除数据。搜索按钮事件处理函数其实就是调用table.reload重新加载表格数据,同时将搜索栏条件传入后台服务按条件检索。
分别定义事件处理函数处理工具栏按钮点击事件及数据行中的按钮点击事件,无论是点击工具栏中的批量删除按钮,还是点击数据行中的删除按钮,都是调用WebApi接口Deletes彻底删除数据库中的数据,无法恢复。点击数据行中的还原按钮,调用WebApi接口Restore函数还原回收站中的数据。绝大部分数据对象都包含IsDeleted属性,软删除其实是将该属性设置为true,然后在回收站数据表中登记数据的标识及TenantId,点击还原按钮时,其实是根据这两个属性将数据的IsDeleted属性设置为false,恢复数据的可用性。
参考文献:
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity