ShenNiusModularity项目源码学习(30:ShenNius.Admin.Mvc项目分析-15)
广告管理页面用于新建、维护及删除系统CMS管理模块的广告信息,其后台控制器类AdvListController位于ShenNius.Admin.Mvc项目的Areas\Cms\Controllers内,页面文件位于同项目的Areas\Cms\Views\AdvList内,其中Index.cshtml页面为主页面,Modify.cshtml页面用于新建或编辑广告信息,两个页面中调用的后台WebApi接口位于ShenNius.Admin.API项目的AdvListController,主要用到GetListPages(分页获取广告列表)、Deletes、Modify、SoftDelete等函数。
广告列表主页面的布局如下所示,最上方为工具栏,下方显示广告数据表格。页面加载后,通过apiUtil.render函数调用WebApi函数GetListPages分页获取广告数据。
分别定义事件处理函数处理工具栏按钮点击事件及数据行中的按钮点击事件,新建和编辑按钮调用的都是Modify.cshtml页面,而删除按钮的话,点击工具栏中的删除按钮,处理逻辑是将选中的记录软删除,后续还能在回收站中恢复,而点击数据行中的删除按钮,则是直接删除数据库中的数据,无法恢复。
添加按钮和编辑按钮都是用的Modify.cshtml页面(页面标题没有改过来,估计是用栏目页面改的),点击上传图片按钮调用ShenNius.Admin.API项目的UploadController.File函数上传广告关联的图片文件,同时基于layui的上传组件进行图片预览。点击确认保存按钮,根据编辑页面中是否存在Id字段判断是添加操作还是编辑操作,前者的话调用WebApi接口Add新建广告,后者则调用Modify函数更新广告信息。
参考文献:
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity