zoukankan      html  css  js  c++  java
  • Oxite项目,页面Title的实现

    以前在自己的项目中实现页面Tite,一般是在页面的基类中,自动添加整个网站的名称,在页面的后台,以类似this.Title += ""之类的方式来实现。但是这么处理,总是感觉不怎么“优雅”。前两天看Oxite的代码时,发现在View中,并没有指定标题,但是,在最终生成的页面中,会自动处理好,同时分隔符也出现了。他是怎么来实现的呢?

    在Oxite项目中,有PageTitleHelper类,此类从配置文件中获取siteName站点名称和pageTitleSeparator(标题内的风格符,如“ - ”)。在初始化的时候,作为参数,传给此类。

    此类有一个公开的属性:AdditionalPageTitleSegments,String[]类型,主要作用是添加除了站点名称之外的副标题吧,比如站点名称为“XXX管理系统”,如果需要使最终的标题为“添加用户 - 系统管理 - XXX管理系统”,则AdditionalPageTitleSegments的值应该是  new String[] {"系统管理","添加用户"};使用此类的时候,直接调用ToString()方法。

    PageTitleHelper

    问题在于,在MVC中,再那个地方调用比较合适?在Oxite.Mvc项目中,有BaseController类,继承自Controller,Controller有两个关键的事件:OnActionExecuting(Action执行前的操作)和OnActionExecuted(Action执行后的操作 )。

    BaseController

    PageTitle在此类中,只是作为一个类型为PageTitleHelper的只读属性存在。

    在使用的时候,比如View里的

    View

    然后在MastPage里对Title进行使用。

    Code
  • 相关阅读:
    mybatis-plus学习
    代码规范系列
    Error:Abnormal build process termination:
    SpringBoot常用注解
    git深度学习
    spring中创建bean的方式
    jenkis构建“ERROR: Error fetching remote repo ‘origin’“
    tensor2tensor安装bug修复
    Swin-Transformer代码工程进行物体检测
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/ajiebp1977/p/1358867.html
Copyright © 2011-2022 走看看