【MasterPages实用技巧】为模板增加前端控制①——自动生成页面标题

如何在Mac上的Pages 文稿中为对象添加说明或标题? 我们在使用Pages 文稿时,您可以为大多数对象添加标题或描述性说明,包括绘图、方程、图像、图像画廊、影片、形状(不包括线条)、表格、文本框和图表。如果文稿中有成组的对象,您还可以添加可应用到整个组的说明和标题。那我们该如何具体操作呢?快和小编一起来看看吧! 添加说明 1.选择要为其添加说明的对象。 2.在“格式” 边栏中,执行以下一项操作: 对于形状、图像、影片、文本框和方程:点按“样式”标签,然后选择“说明”旁边的复选框。 对于绘图:点按“绘图”标签,然后选择“说明”旁边的复选框。 对于表格:点按“表 阅读详情

上一回我们已经了解了MasterPages的基本使用方法,但是在实际使用过程中我们也会发现,这样的模板还无法满足要求。
笔者首先遇到的问题是页面标题。

对于使用模板的Web窗体来说,它的页面标题应该怎样写?一般情况下,页面标题由HTML的标准元素TITLE标记指定,它存在于HEAD标记内。可现在只有模板控件内存在完整的HTML标记,其他窗体都仅仅是通过MasterPages“引用”了这些公共的HTML元素。那么页面标题应该写在哪里?

笔者首先在模板的<title></title>内添加了一个region,在窗体的相应content内添加了其自身的页面标题。
模板代码:
<%@ Register TagPrefix="mp" namespace="Microsoft.Web.Samples.MasterPages" assembly="MasterPages" %>
<html>
      <head>
            <title>
                  <mp:region id="regTitle" runat="server"></mp:region>
            </title>
      </head>
      <body>
      ...
      </body>
</html>
结果却发现,MasterPages并不会将regTitle的内容正确输出为页面标题,却在页面结果的开头显示了一段包含页面标题内容的<div>标记。笔者猜测MasterPages并不能正常输出<head>中的region,但是将title定义在<body>显然不是合法的HTML代码。

那么能不能通过在模板中的公共部分定义一个设置标题的客户端脚本函数,而在模板的后台代码中编写在客户端调用此客户端脚本函数,将应用模板的窗体中对应content的内容输出为此函数的参数,从而动态实现为窗体输出页面标题的功能呢?

笔者在模板的<body>中添加了一个隐藏的region,因为其对应的content并不需要输出到页面结果中被客户端显示。
<body>
      <mp:region id="regTitle" runat="server"></mp:region>
      ...
</body>
同时在<head>内定义了一个设置页面标题的客户端脚本函数:
<head>
      ...
      <script language=javascript>
            function setTitle(title)
            {
                  do***ent.title = title;
            }
      </script>
</head>
而在模板UserControl的Page_Load事件方法中,添加了如下代码:
if (regTitle.Controls.Count > 0)
{
      System.Web.UI.LiteralControl title = (System.Web.UI.LiteralControl)regTitle.Controls[0].Controls[0]; // MasterPages会将content中的内容以LiteralControl放入一个Panel,而把这个Panel再放入region
      this.Response.Write("<script language=javascript>setTitle('" + title.Text + "')</script>");
}

应用此模板的窗体,在它的<mp:contentcontainer>中添加id="regTitle"的<mp:content>定义页面标题:
<%@ Register TagPrefix="mp" namespace="Microsoft.Web.Samples.MasterPages" assembly="MasterPages" %>
<mp:contentcontainer runat="server" MasterPageFile="~/Template.ascx" id="Test">
    <mp:content id="regTitle" runat="server">Test页面标题</mp:content>
    <mp:content id="regContent" runat="server">窗体内容测试</mp:content>
</mp:contentcontainer>


在“MasterPages实用技巧”的下一篇里,你可以了解基于MasterPages的另一个模板前端控制技巧——自动生成页面自身的全局客户端脚本。

希望能给大家带来帮助,谢谢!

Aap.net母版页跳转无刷新 解决方案 原本做开发的项目使用的是ifame框架的母版页,不过扩展性不是很好,想改成cs可编辑版的,网上找了很多资料大体分为两种,一是用master不过需要在后台进行处理,有点麻烦,二就是iframe。研究了半天,终于想到一个实现方法! 首先,创建一个.aspx web页,框架代码网上到处都是,大家可以去找找。以下是我的源码 h2{font-weight:normal;} ht 阅读详情

相关推荐

asp.net 母版页的使用

不解释 母版页 site master 的具体使用 很详细 一定能够看懂 加实例

三阶段--day07--前端VUE.js+Axios+后端MP+SSM--实现前端页面表单操作数据库

去q 委屈二群无 为请求二

weixin_58580280的博客 831

vjpage 前端页面自动生成工具

可以通过快速拖动,从而自动生成前端页面,有利于提高开发效率。

【MasterPages实用技巧】为模板增加前端控制②——自动注册客户端全局脚本

让我们先来理解“全局”二字的含义。 HTML页面可以定义客户端脚本,为页面外观提供丰富的可视化行为和逻辑,客户端脚本可以写在或中。写在中的脚本就是文本所指的“全局”脚本,为什么说它是全局的呢?因为中定义的客户端脚本函数可以在中任何地方被访问,而在中函数外部定义的客户端脚本,也能在页面加载后的第一时间,按顺序被浏览器执行,而且能够访问页面中的全部对象。相对的,中的脚本只能按顺序执行,其中定义的函数只

UNO 2978

smartbi页面面板参数问题

解决smartbi中创建页面面板参数同步问题,以及参数面板距离下层标题距离问题

Node.js-multipages-generator是一个像express-generator一样快速生成网站脚手架的npm模块

multipages-generator是一个像express-generator一样快速生成网站脚手架的npm模块,可以全局安装。只要一个命令即可生成多页面的express工程,是多页面webpack编译的最佳实践模板,最适合多个独立的移动端h5项目

ASP.net 2.0 Migrating系列 - Master Pages 感触

ASP.net 2.0 Migrating系列 - Master Pages范维肖在Visual Web Developer 2005里的新建里多了一个Master Pages,在微软的VWD2005的Guided Tour里有专门对它使用的介绍,可见它是ASP.NET2.0里的一大特色.最早我们在做HTML页面的时候,有时会有遇到这样的情况:一个网站要有一个统一的风格,所以页面的样式是大体一致的...

weixin_34191845的博客 92

周报工具-可添加模板

使用springboot开发,数据库使用h2, UI使用amaze ui,开发的周报工具,可以支持模板,支持富文本编辑器填写模板

JQuery实现注册表单验证

效果图如下: 注册页面HTML代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www....

weixin_34033624的博客 803

简单的新闻管理系统模板自动生成

V1.0 1、修正了几个BUG。 2、在线查看回复信息。 3、屏敝了HTML代码。 4、回复时支持HTML语法。 5、界面简洁,但功能实用! 主要功能: 1、自动生成asp文件,可以大大降降低服务器的负担,提高浏览速度。 2、采用分级审核制度,输入员和审核员分工操作,充许管理员对新闻审核后发布。 3、采用JS,可以方便在页面的任意位置增加新闻。 4、可以显示TOP10热点新闻10条(可定义)。 5、可以自定义推荐新闻。 6、采用UBB系统,可以在文章的任意位置放置图片,数量不限。 7、在线更改管理员密码。 8、在线更改落款以及联系方式和版权信息。

STC15单片机双串口通信实战:串口2配置与多设备交互

本文详细介绍了STC15单片机双串口通信的实战配置,重点解析串口2的硬件连接、寄存器设置及多设备交互实现。通过实际项目案例和完整代码示例,帮助开发者快速掌握STC15串口2的配置技巧,解决常见通信问题,提升嵌入式系统开发效率。

weixin_29174013的博客 255

母版页实现页面部分更新

  新建一个asp.net web应用程序,在项目下添加一个母版页site1.master,然后在Site1.master上点右键,在弹出的菜单中选择添加内容页,此时自动添加了一个名为WebForm1.aspx的内容页面。然后在Site.master的设计文件中添加一个ScriptManager控件,ScriptManager放在母版页上可以为每个内容页提供一个ScriptMana

我的专栏 1648

Java云上香云祭祀线上祭祀系统小程序源码

云上香云祭祀线上祭祀系统”,不仅是一种祭祀方式的创新,更是对传统文化的一次深情致敬。它让我们明白,无论时代如何变迁,对亲人的怀念与尊重永远不会改变。在这个特别的平台上,让我们共同守护那份跨越时空的爱与思念,让心灵得以安放,让生命之树常青。🌳。

2401_84413757的博客 803

让 Dreamweaver 8 支持 asp.net的母版页 *.master 高亮显示

让 Dreamweaver 8 支持 asp.net的母版页 *.master 高亮显示 1、两个文件: Macromedia/Dreamweaver 8/Configuration/Extensions.txt Macromedia/Dreamweaver 8/Configuration/DocumentTypes/MMDocumentTypes.xml 2、Extensions

挨踢笔记 2604

从隐式求解器到显式求解器:COMSOL接触仿真中的求解策略对比与选择

本文深度解析了COMSOL中隐式与显式求解器在接触仿真中的应用与选择策略。针对非线性接触问题的核心挑战,详细对比了两种求解器的数学框架、优化技术及适用场景,并提供了参数调优和调试技巧,帮助工程师高效解决接触仿真中的收敛问题。

weixin_28347369的博客 682

均值回归 高频交易_基于布林带的均值回归交易策略

BOLL指标是美国股市分析家约翰·布林根据统计学中的标准差原理设计出来的一种非常简单实用的技术分析指标。一般而言,股价的运动总是围绕某一价值中枢(如均线、成本线等)在一定的范围内变动,布林线指标正是在上述条件的基础上,引进了“股价通道”的概念,其认为股价通道的宽窄随着股价波动幅度的大小而变化,而且股价通道又具有变异性,它会随着股价的变化而自动调整。由于之前大部分交易策略都是选股或者趋势追踪的择时,...

weixin_42528534的博客 1458

为使用Master的ASP.NET Content页面添加CSS样式

使用了Master的ASP.NET Content页面无法直接引用外部样式或内嵌样式,因为CSS样式必须出现在HTML的head标签内,而Content页面自身是不能包含head的。不过通过编程,很容易做到这一点,以下就是解决方案(也可以用相同的手段来添加其他HTML元素)。先定义以下两个方法: 内嵌样式支持protected void AddInlineStyle(string

wygyhm的专栏 3057

CodeX 登录报错 os error 10013?一键修复 CodeX 无法登录问题(亲测有效)

CodeX 登录时报 os error 10013?本文提供快速修复方案,实测有效,彻底解决登录报错:登录失败:failed to start login server: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013)的问题💡

XiaoqiangClub的博客 2924

ASP.NET应用程序级缓存的设计思路与实现

【如果有现成的开源或免费缓存组件,要告诉我哦】背景页面包含许多需要显示数据库数据的控件,每次打开页面的效率都很低目标 减少页面响应时间,从而提高用户访问速度 缓存应在用户访问页面之前起作用,而不是像ASP.NET窗体/用户控件缓存那样随用户访问被动创建 能提供全局的缓存策略配置

UNO 4575

IoT安全软件:Forescout二次开发_Forescout基础架构与原理

Forescout平台是一个集成了多种安全功能的综合解决方案,旨在帮助组织管理和保护其网络中的IoT设备。该平台通过自动发现、分类和监控网络中的设备,提供实时的安全可见性和控制。Forescout的核心优势在于其能够处理混合环境中的各种设备,包括传统IT设备、IoT设备和OT设备。Forescout平台由多个核心组件组成,每个组件负责特定的功能。了解这些组件的运作机制是进行二次开发的基础。假设我们需要定义一个策略,禁止所有厂商为XYZ的设备访问互联网。选择策略类型。

chenlz2007的博客 1965

华为OD机试双机位C卷-水库溃坝填补(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【水库溃坝填补】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。水库溃坝填补。

qq_45776114的博客 2109
上一篇: 【MasterPages实用技巧】使用MasterPages实现Web窗体模板
下一篇: 【MasterPages实用技巧】为模板增加前端控制②——自动注册客户端全局脚本
uno
uno
博客等级 码龄26年 14粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值