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

  开源博客项目Blog的前台页面(如下图所示)的控制器类保存在App.Hosting项目的Controllers文件夹内,页面保存在Views文件夹内,网页中使用的图标、js、css文件等保存在wwwroot文件中。

  前台各个页面、Controller文件夹中的控制器类及Views文件夹中的页面之间的对应关系如下图所示,本文开始逐步分析页面、控制器类的用法。
  Views文件夹的子文件夹Shared中保存前台页面和后台页面的模版,并在_ViewStart.cshtml文件中指定前台页面的模版为_Layout.cshtml。

  _Layout.cshtml模版页面的大致结构如下所示,本文从上往下简要说明(内容太多,没有完全看完)。

  头部导航。使用Layui中的layui-header预设类设置头部导航样式,同时调用wwwroot\web\css\global.css根据类名blog-nav设置头部导航样式。头部导航内部使用layui-nav和layui-nav-item预设类设置导航容器及导航菜单,同时每个每个导航菜单配以相应图标,且图标未使用layui内置的图标,而是用的Font Awesome图标(参考文献2)。

  底部设置。页面底部仅由两个div块构成,并未使用layui样式,而是在global.css根据类名footavatar和info设置样式。
  侧边导航设置。侧边导航包含一个导航到不同前台页面的侧边导航(暂时没有看到怎么把侧边导航导出来),以及位于右下角的用于分享的分享导航(暂时没有找到对应分享图标的处理函数)。

  通用js处理代码。_Layout.cshtml中的js代码主要做3件事:1)通过分析location网址设置头部导航中当前页面对应的当前导航菜单;2)定义qq登录/qq登出响应函数,调用HomeController的Login和SignOut函数设置qq账号登录/登出。同时页面引用web/js/global.js文件,其中定义了点击页面出现随机文字的函数,也定义了处理侧边导航的响应函数。

参考文献:

1https://gitee.com/miss_you/Blog

2https://fontawesome.dashgame.com/

3https://blog.csdn.net/weixin_42855542/article/details/83476597

相关推荐
miofly2 小时前
GitHub 今日推荐|SCSKiller:游戏着色器预编译消除卡顿
开源·c#·github
周杰伦fans16 小时前
8GB显存下模型量化实战指南
人工智能·后端·c#
samble18 小时前
从零搭建灌装监控系统(十二):配置系统,原子写入与容错
c#·wpf·mvvm·modbus·工业控制
流形填表21 小时前
题库去重实战:基于题干指纹的重复题清理
开发语言·c#
开开心心就好1 天前
以图搜图找重复图片,本地工具离线就能用
javascript·智能手机·ffmpeg·c#·ocr·word·音视频
QQ_21696290961 天前
基于C#(Asp.net)电竞陪玩信息管理系统的设计与实现
java·大数据·spring boot·微信小程序·c#·云计算·asp.net
未来之窗软件服务2 天前
C# 截图源码支持自动保存-东方仙盟
c#·仙盟创梦ide·东方仙盟·电脑工具
UIU1142 天前
-7 / 2 在 C 里是 -3,在 Python 里是 -4,谁算错了?
c++·学习·c#
wflynn2 天前
GitHub 今日推荐|REDox:64 位 token 表示结构化数据,内存占用降 70% 支持多格式互转
开源·c#·github
驰骋工作流2 天前
C#/.NET 开源BPM工作流引擎6大常用对比选型分析驰骋BPM驰骋低代码低代码工作流引擎
开源·c#·.net