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

  本文学习并分析App.Hosting项目中后台管理页面的QQ用户查看页面、时光轴维护页面。

QQ用户查看页面

  QQ用户查看页面用于显示和检索以QQ账号登录博客的用户信息。整个页面使用了layui中的表格、表单等样式或模块,并未使用独立的js文件,而是直接在页面内嵌js代码,并调用BlogManage/ QQUserController的相关函数获取或检索数据。
在这里插入图片描述
  QQ用户查看页面的布局比较简单,上半部分显示搜索框,下半部分以表格形式显示全部QQ用户或者检索结果。
在这里插入图片描述
  内置的js代码主要用于设置表单、表单样式及处理事件,同时处理搜索事件。
  调用layui的table.render函数设置表格样式,主要包括:
  1)用elem属性设置表格容器元素,同时用url设置调用BlogManage/QQUserController的Index函数分页获取所有QQ用户信息;
  2)用limit、limits、page属性设置数据分页显示;
  3)用toolbar属性设置头部工具栏,指定的元素id定义在_AminLayout.cshtml内,且根据不同的页面显示不同的工具栏内容,在本页面中工具栏没有按钮;
  4)用where属性设置调用Index时附加的其它参数;
  5)用cols属性设置表格显示列,其中第一列采用type:‘number’设置为序号列,其它列对应Index函数返回值的属性并以sort属性设置可排序性,同时身份列(对应字段EnableMark)采用templet属性以模版函数方式设置以表单中的开关样式显示属性值。

在这里插入图片描述
  调用table.on('sort(qqList)'设置表格排序事件的事件处理函数,本质上是调用table.reload完整重载QQ用户信息。检索按钮的事件处理函数也是类似实现方式。
在这里插入图片描述
在这里插入图片描述
  调用form.on('switch(enabled)'设置表格中身份列开关事件的事件处理函数,其内部调用tools.submitConfrim函数提示用户是否在博主和用户间切换,确定的话则调用BlogManage /QQUserController的Master函数更新QQ用户信息,同时更新页面数据,取消的话则还原身份列之前的显示值。
在这里插入图片描述

时光轴维护页面

  时光轴页面用于显示、检索、新建、编辑、删除时光轴数据,以便在前台页面的时光轴页面以时光轴形式显示数据。时光轴页面附带一新建及编辑页面,以支撑新建和编辑时光轴数据。整个页面使用了layui中的表格、表单等样式或模块,并未使用独立的js文件,而是直接在页面内嵌js代码,并调用BlogManage/ TimeLineController的相关函数处理数据。
在这里插入图片描述

  时光轴维护页面的主页面类似QQ用户页面,上半部分显示搜索框,下半部分以表格形式显示全部时光轴数据或者检索结果。
在这里插入图片描述
  内置的js代码主要用户设置表格样式及处理表件,同时处理搜索事件。调用layui的table.render函数设置表格样式,主要包括:
  1)用elem属性设置表格容器元素,同时用url设置调用BlogManage/TimeLineController的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/TimeLineController的Index函数获取并显示结果,其余的添加、编辑和删除按钮中,删除按钮的事件处理函数逻辑为调用BlogManage/ TimeLineController的Delete函数删除数据,然后使用table.reload重载页面数据,新建和编辑时光轴数据使用的同一页面。
在这里插入图片描述
  新建和编辑时光轴数据使用的BlogManage\Views\TimeLine\Form.cshtml页面,使用layui的表单组件设置样式。
在这里插入图片描述
  如果是新建时光轴数据,则直接弹出页面,编辑数据的话,主页面会通过url传递key参数,在编辑页面中调用BlogManage/TimeLineController的Detail函数获取时光轴数据初始化编辑页面的对应元素数据。新建或编辑完成后,主页面的js中设置了回调函数,最终调用BlogManage/TimeLineController的Form函数新增或更新数据。
在这里插入图片描述
参考文献:
[1]https://gitee.com/miss_you/Blog
[2]https://layui.dev/docs/2/

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值