前言:

在本篇 Taurus.MVC WebMVC 入门开发教程的第七篇文章中,

我们将深入探讨如何使用部分视图和页面片段来提高代码的复用性和可维护性。

部分视图和页面片段是 Web 开发中常用的技术,能够帮助我们更好地组织和管理页面的结构和内容。

了解部分视图和页面片段

在 Taurus.MVC WebMVC 中,部分视图(Partial View)是一种可在其他视图中重复使用的视图片段。

它们通常用于显示页面的一部分内容,例如页眉、页脚、侧边栏等。

通过使用部分视图,我们可以将页面分割为多个独立的部分,便于管理和维护。

页面片段(Page Fragment)是指页面中的某个具体部分,可以是一个 HTML 片段、一段文本、一个表单等。

通过使用页面片段,我们可以将页面的不同部分进行精细化的管理,使得页面结构更加清晰和灵活。

创建部分视图

在 Taurus.MVC WebMVC 中,创建部分视图非常简单。

首先,在 Views 文件夹下创建一个名为 Shared 的文件夹(如果已经存在则忽略),然后在该文件夹下创建任意的如: foot.html 的部分视图文件。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<footer class="footer" id="footer">
<div class="container">
<p class="text-muted">Author : 路过秋天 Copyright 2016-2096 Powered by Aster All Rights Reserved.</p>
</div>
</footer> </body>
</html>

上述代码是一个简单的 foot.html 部分视图,用于显示网站的页脚内容。

在视图中使用部分视图的页面片段

在需要使用部分视图的视图文件中,使用 Html的 itemref 属性引入部分视图。

itemref的语法为:页面名称.节点ID(或标签tag)

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>欢迎来到 Taurus.MVC WebMVC</title>
</head>
<body>
<h1>用户列表</h1>
<ul id="list">
<li>姓名:${Name},年龄:${Age}</li>
</ul>
<div itemref="foot.footer"></div>
</body>
</html>

上述代码将 foot.html 部分视图的页面片段,通过指定【页面名称.节点ID名称】嵌入到了 index.html 视图文件中,使得页面可以显示包含在 foot.html 中的内容。

页面片段高级使用:

这次,我们在 Views 文件夹下创建一个名为 Shared 的文件夹(如果已经存在则忽略),

然后在该文件夹下创建任意的如: myhead.html 的部分视图文件:

<!DOCTYPE html>
<html>
<head>
<title itemref="title"></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="taurus,taurus mvc,mvc,asp.net mvc,cyq.data" />
<meta name="description" content="Taurus.MVC is a simple mvc or webapi framework for asp.net" />
<meta name="author" content="Aster(路过秋天)" />
<link rel="stylesheet" href="/Views/styles/css/bootstrap.min.css" />
<script src="/Views/styles/js/bootstrap.min.js"></script>
</head>
</html>

上述代码定义了一个名为 head.html 的部分视图文件,用于统一页面的head部分。

同样 head 里包含了在各页面通用的样式和脚本。

下面我们试着来引用它:

回到我们之前教程里创建的 index.html 页面,在 head 标签添加 itemref 属性,并指向 myhead.head:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head itemref="myhead.head">
<title>欢迎来到 Taurus.MVC WebMVC</title>
</head>
<body>
<h1>用户列表</h1>
<ul id="list">
<li>姓名:${Name},年龄:${Age}</li>
</ul>
<div itemref="foot.footer"></div>
</body>
</html>

完成代码后,接下来,我们来看看程序运行的结果:

运行程序:

此时我们运行程序,输出结果和预期的一致,如下图:

在结果输出中,我们可以清晰的看到,head 节点已被替换成页面片段的节点。

同时标题,仍保留了 index.html 的标题。

这是怎么实现的呢?

由于不同的面页,有不同的标题,或者总有区异化的地方,对于这种情况,我们可以在部分视图中使用 itemref,再次引用回去。

因此,我们可以看到,在 head.html 中,也使用了 itemref 属性,它指向了 title 标签(注意,这里直接没有使用页面名称 xxx.即当前页面)。 通过二次引用,title 标签被指向 index 原来的页面的标签,于是显示了:"欢迎来到 Taurus.MVC WebMVC“的标题。 有点类似于定义虚方法,留给引用者重写该内容。

需要注意的是,上述示例中,使用是使用标签的 tag 属性引用的,而不是ID,对于这种情况,框架默认会取第1个tag。

因此,如果你在程序中,通过xxx.tag 来引用时,应该确保该节点的唯一性。

总结

通过本篇教程,我们学习了如何在 Taurus.MVC WebMVC 中使用部分视图和页面片段来提高代码的复用性和可维护性。

我们了解了部分视图和页面片段的基本概念,并学习了如何创建和使用它们。

本系列入门教程,就到此结束,后续看有需要,再补充教程。

Taurus.MVC WebMVC 入门开发教程7:部分视图和页面片段(结束篇)的更多相关文章

  1. Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。

    前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...

  2. Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  3. Taurus.MVC WebAPI 入门开发教程3:路由类型和路由映射。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  4. Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  5. Taurus.MVC WebAPI 入门开发教程5:控制器安全校验属性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  6. Taurus.MVC WebAPI 入门开发教程6:全局控制器DefaultController与全局事件。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  7. Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。

    系列目录 1.Taurus.MVC WebAPI  入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...

  8. Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  9. Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  10. Taurus.MVC 微服务框架 入门开发教程:项目部署:2、让Kestrel支持绑定多个域名转发,替代Ngnix使用。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

随机推荐

  1. Seata配置参考

    注意:mysql.redis等连接密码需修改为相应值 Seata-Server 环境 版本:1.4.2 OS: CentOS Linux release 7.5.1804 (Core) ip:192. ...

  2. 解决node与npm版本不一致,出现npm WARN npm npm does not support Node.js v15.14.0

    出现node与npm版本不一致 今天我升级了node之后,出现的了如下信息 npm WARN npm You should probably upgrade to a newer version of ...

  3. 【0基础学爬虫】爬虫基础之自动化工具 Pyppeteer 的使用

    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶.逆向相关文章,为实现从易到难全方位覆盖,特设[0基础学爬 ...

  4. 【APP 逆向百例】Frida 初体验,root 检测与加密字符串定位

    声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容.敏感网址.数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许 ...

  5. kettle系统列文章02---如何建立一个转换

    1.连接mysql 主对象树---->DB连接---->新建 2.连接sqlserver 主对象树--->DB连接----->新建 3.设置数据库为共享:在db上右键---&g ...

  6. 基于Ernie-3.0 CAIL2019法研杯要素识别多标签分类任务

    相关项目: Paddlenlp之UIE模型实战实体抽取任务[打车数据.快递单] Paddlenlp之UIE分类模型[以情感倾向分析新闻分类为例]含智能标注方案) 应用实践:分类模型大集成者[Paddl ...

  7. 【8】python_matplotlib改变横坐标和纵坐标上的刻度(ticks)、sagemath-list_plot()调整图例(legend)中点的数量、Matplotlib画各种论文图

    1.python_matplotlib改变横坐标和纵坐标上的刻度(ticks) 用matplotlib画二维图像时,默认情况下的横坐标和纵坐标显示的值有时达不到自己的需求,需要借助xticks()和y ...

  8. 【九】强化学习之TD3算法四轴飞行器仿真---PaddlePaddlle【PARL】框架

    相关文章: [一]飞桨paddle[GPU.CPU]安装以及环境配置+python入门教学 [二]-Parl基础命令 [三]-Notebook.&pdb.ipdb 调试 [四]-强化学习入门简 ...

  9. Metasploit 生成各种后门

    Metasploit 是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,同时该工具也是渗透测试环境中的利器,它支持多平台Payload的生成具有完全的跨平台性 ...

  10. 遥感图像处理笔记之【U-Net for Semantic Segmentation on Unbalanced Aerial Imagery】

    遥感图像处理学习(5) 前言 遥感系列第5篇.遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2023年12月15日 2024年1月24日搬运至本人博客园平台 文章标题:U-Net for Se ...