ASP Forum2.0学习笔记之二---了解Master Pages库

ASP.NET前后端用户安全管理技术全解析 本文系统介绍ASP.NET Core中用户管理的核心技术,涵盖注册登录、密码加密(PBKDF2)、JWT身份认证及AccessToken/RefreshToken机制。通过轻量级Web API项目演示,强调安全实践:密码明文不存储,使用加盐哈希;登录后生成带有效期的JWT令牌,结合短时效AccessToken与安全存储的RefreshToken实现无状态身份验证,提升系统安全性与用户体验。 阅读详情
aspnet forums界面的最关键的问题首先在于它使用了MetaBuilders的Master Pages 控件.
到 http://www.metabuilders.com/Tools/MasterPages.aspx处下载此控件来研究一下:
 
一、Master Pages包括四个类:
 
(1)Content: This control contains the content for a particular region 
此类控件包含真实内容
(2)ContentContainer: This control serves two distincts purposes: - it marks the location where the Master Page will be inserted into the Page - it contains the various Content sections that will be matched to the Master Page's Region controls (based on their ID's). 
此控件有两个意图:
·作为一个定位标志,标识Master Page将被插入到页中;
·与Region Controls相匹配
(3)NoBugForm: A server form that does not cause a problem by being inside a master page or other naming container. 
无错form。可以放心使用
(4)Region: The control marks a place holder for content in a master page
占位控件
 
二、我们通过分析default.aspx来看看Master Page使用方式
(1)default.aspx的内容如下:
<mp:ContentContainer runat="server" id="MPContainer" MasterPageFile="~/Themes/MasterPage.ascx">
 <mp:Content id="HeadTag" runat="server">
  <meta http-equiv="Refresh" content="300" />
 </mp:Content>
 
 <mp:Content id="MainContent" runat="server">
  <Forums:ForumGroupView runat="server" />
 </mp:Content>
</mp:ContentContainer>
mp:ContentContainer是一个容器,MasterPageFile="~/Themes/MasterPage.ascx是它最重要的属性,指向了一个ascx控件页。其实,这个ascx控件并不是一个真的ascx控件,而是一个页面框架。它提供了default.aspx页面的主结构,然后在其中留出了空白,让default.aspx来填空。
(2)再来仔细看看masterpage.ascx的内容
<html>
<head>
    <!--标题-->
    <Forums:PageTitle runat="server" />
 <!--风格定义-->
 <Forums:Style id="Style1" runat="server" />
 <!--头标签-->
 <mp:region id="HeadTag" runat="server" />
</head>
 
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
 
<!-- ********* NoBugForm:START ************* //-->
<mp:NoBugForm runat="server">
 
 <mp:region id="MainContent" runat="server">Default main content</mp:region>
 
</mp:NoBugForm>
<!-- ********* NoBugForm:END ************* //-->
 
<!-- ********* Footer:START ************* //-->
<Forums:Footer runat="server" /><br />
<!-- ********* Footer:END ************* //-->
</body>
</html>
首先,它有html文件的<head>,在<head>中留下了不小的地方放自定义控件,Forums:PageTitle 和Forums:Style
然后,在Body中有一个NoBugForm,这个的作用先猜测一下,可能是指用于mp控件的form。
最为重要的是它有一个
<mp:region id="MainContent" runat="server">Default main content</mp:region>
region是一个占位控件,它给谁占的位置呢?看看default.aspx就明白了:
<mp:Content id="MainContent" runat="server">
  <Forums:ForumGroupView runat="server" />
 </mp:Content>
看到了吗?content中的id与region的id相匹配。结果,default.aspx将会在这儿显示出来。
三、优点考虑:
现在看来master pages的结构也相对简单。但为什么要使用这种方式而不是直接使用ascx控件呢?
关键在于换肤。
asp forums为了实现换肤的方便而使用了一个专门的ascx文件作为框架页。而通常的ascx文件是不可能作为框架页的,它只能是一个页面中的一部分,我们还需要一个aspx或html文件作为框架页。如果框架页改变了,则所有使用此框架的页面全部都要改过。这在dreamweaver中可以使用模板来实现,但也相当不方便。(我没有用过模板,只知道其是自动更改使用模板的页)但使用期master pages结构后只需要改变一个文件或几个文件就可以实现。
好处不少,当然缺点也不可能少。无法可视化是它现在最大的缺点。
四、与asp.net 2.0的联接
今天看到asp.net 2.0中新增加了Master Page功能,与forum中使用的基本是一模一样,看控件说明估计是同出一源。看来,Master Page是未来必然会具有的功能。不过,asp.net 2.0中由于可以使用visual studio 2005的设计功能,把masterpage控件的一个最大的缺点补上了。
有兴趣的读者可以看看:
这个pdf文档,写得相当详细。而且是繁体中文的,比英文的要顺眼一些。呵呵
 
 
有什么其它不明之处,我们下回分解。
 
下一页
 
 
 
Docker新手必看:解决‘Unable to find image’错误的完整指南 本文针对Docker新手常见的‘Unable to find image’错误,提供了完整的排查与解决指南。文章深入剖析了权限不足、网络连接失败、Docker服务未运行等核心原因,并给出了将用户加入docker组、配置镜像加速器等实用解决方案,帮助读者彻底理解并解决镜像拉取问题。 阅读详情

相关推荐

TSMaster二次开发实战:如何用Python搞定CAN/CANFD事件回调(附完整代码)

本文详细介绍了如何利用Python进行TSMaster二次开发,实现CAN/CANFD事件回调功能。通过实战代码演示,讲解了预发送与后处理回调的核心区别、注册流程、资源管理及性能优化技巧,帮助工程师高效构建自动化测试与数据监控应用。

star的博客 668

ASP.NET Master Page使用(转)

转自:http://blog.csdn.net/cxzhq2002/archive/2008/12/17/3539685.aspx <%@ Page Language="C#" MasterPageFile="~/MasterPage/Common.master" AutoEventWireup="true" CodeFile="SceneList.aspx.cs" Inherits="S...

weixin_30407613的博客 320

从FedAvg到实战:手把手教你用PyTorch复现联邦学习经典论文实验(MNIST/CIFAR-10)

本文详细介绍了如何使用PyTorch复现联邦学习经典算法FedAvg在MNIST和CIFAR-10数据集上的实验。从环境搭建、数据非IID划分到模型实现和参数聚合,手把手教你掌握联邦学习的核心技术与实战技巧,帮助开发者和研究人员快速实现隐私保护的分布式机器学习方案。

weixin_29053695的博客 253

ASP.NET 2.0中动态混合使用MasterPage和主题

ASP.NET 2.0初接触—使用MasterPage和 主题2006-4-15前言在ASP.NET Froum 2.0中我学习和使用MasterPage,然后也可以使用自定义控件的方式来使用主题。但这种在ASP.NET1.1 中方式使用相当不便,因为每个页面都需要做成一个自定义控件,才能更好的控制。同时,无法可视化的进行编辑也是相当的不习惯。ASP.NET 2.0中使用Maste

mint的专栏 6520

uniapp实战:mui-player插件如何完美适配m3u8/flv直播流(附完整代码)

本文详细介绍了如何在Uniapp中使用mui-player插件完美适配m3u8和flv直播流,提供从基础配置到高级优化的全流程解决方案。通过动态加载策略、响应式布局和内存管理,实现跨平台稳定播放,适用于企业级直播应用开发。

weixin_29001655的博客 236

Qt Quick/QML入门到精通_专栏demo对应文章目录(目前50个左右demo/长期更新)

自定义图标下拉列表框的效果如下所示:自定义三态按钮的效果如下所示:传送门:53.qt quick-自定义三态按钮、自定义图标下拉列表框_诺谦的博客-优快云博客传送门:59.qt quick-qml调色板(颜色取色器)实现、自定义QQuickStyle样式_诺谦的博客-优快云博客63.qt quick-QML侧边滑动栏(不需要任何图片资源,支持自定义左右方向和大小)_诺谦的博客-优快云博客_qt实现好看侧边栏。...

抵抗时间扭曲,坚持做一件有意义的事 2万+

ASP.NET基础问题----使用随机字符串

有时候,我们需要产生一些随机字符串,这些字符串需要一定的长度,不能重复。产生的思路一般有两个:(1)使用随机数一个个的生成;(2)使用Hash函数生成;好在.net已经为我们准备好需要的东西。下面的这个方法就是生成一个随机字符串的: Shared Function RandomString() As String        产生随机字符串            Dim random1()

mint的专栏 1916

游戏大厂如何解析引擎技术

本文系统解析了游戏大厂如何评估和定制游戏引擎。游戏引擎作为游戏开发的核心基础,大厂会从性能、跨平台支持、渲染能力、网络模块等8个维度进行技术解析,通过文档查勘、源码阅读、Demo测试等7个步骤深度评估。解析后通常有三种决策:直接使用、深度定制或自研重构。文章以腾讯、网易、米哈游等为例,展示了不同厂商的引擎定制策略,并分析了技术解析面临的挑战和未来趋势。最终指出,体系化的引擎技术解析是打造高质量游戏的关键,需要持续的技术投入和团队协作。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 535

一个VB.NET的删除目录的模块

在上一个模块的基础上改了一下,花了几分钟。虽然简单,但是比较有用,就当是代码收集:    Public Sub DelDirectory(ByVal DirName As String)        If Not (Microsoft.VisualBasic.Right(destDirName, 1) = Path.DirectorySeparatorChar) Then       

mint的专栏 1734

Android功耗系列专题分析之四:待机概率性功耗高的失效分析

本文分析了Android设备待机功耗异常高的问题。通过日志发现系统休眠失败,原因是PowerManagerService.Display唤醒锁未被释放。进一步排查发现,指纹解锁功能在灭屏时未正确释放屏幕锁定,导致DisplayReady状态异常。解决方案是将指纹功能的背光控制与DisplayReady状态控制分离,使用两个变量独立管理。经验表明,快速定位问题比解决问题更重要,修改原生流程时需谨慎评估风险。

451

数据挖掘7、银行精准营销

利用数据挖掘技术,对银行已有数据进行分析,对客户进行识别,对客户是否能够进行存款精准营销Windows11。

m0_63099685的博客 394

一个VB.NET的目录复制模块

手上的东西需要一个目录复制,不过好久没有写程序,只好将就着将它写出来。目录复制无非是取文件,递归代码如下:Public Sub CopyDirectory(ByVal sourceDirName As String, ByVal destDirName As String)        If Not (Microsoft.VisualBasic.Right(destDirName,

mint的专栏 1688

【AI应用实战-OpenCode】OpenCode安装部署(一)

OpenCode是一款2026年流行的开源AI编程工具,兼具轻量代码编辑器和智能编码代理功能。其核心优势包括:完全免费开源(MIT协议)、全平台兼容、支持75+大模型(含本地部署)、内置完整编程功能链(代码补全/Git集成/AI调试等),且所有数据本地存储确保隐私安全。相比Copilot等商业工具,OpenCode提供更自由的模型选择和零门槛使用体验。安装要求Windows10+/macOS12+/Linux主流发行版,仅需200MB空间和4G内存。该工具完美兼容VSCode生态,支持终端/桌面/IDE三种

2427

VB.NET :Splash类与只许一个实例

需要书写一个程序的启动屏,在启动此屏时加载后台的代码,然后再显示它。如果自己写这个多线程的当然也行,问题是相当麻烦。于是在网上searching,结果在:http://lzmtw.cnblogs.com/archive/2005/11/08/271403.html处找到了代码.不过,我同样在另一个网页找到了其中需要修改的一处:Private Sub HideSplashScreen

mint的专栏 1624

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ASP Forum2.0学习笔记之一---初识default.aspx

打开Defult.aspx,当场就傻了眼:主要内容如下所示:         晕,这个mp是什么东西?根据~/Themes/MasterPage.ascx这一线索找到themes目录下的masterpage.ascx文件.打开发现:  Default main content  这样的内容.先来看看,这个footer是什么东西吧.查找

mint的专栏 1445

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

一个用得着的查找文件(及目录)的方法

以下代码示例了如何在一个指定的目录(包含目录列表)中查找需要的文件.首先,我们需要建立一个自己的文件类,用于文件和目录Public Class myFileInfo    @自定义的myFileInfo类,用于保存文件(包含目录)的信息    Public FullFileName As String 满文件名( 包含路径)    Public FileAttribute As Sys

mint的专栏 1335

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[LLM Wiki理论与实践-04]使用OpenWiki的Personal模式构建知识库

[LLM Wiki理论与实践-01:使用Obsidian来感受LLM Wiki的三层架构]我们简单介绍了LLM Wiki的三层架构,并使用Obsidian对此进行了简单的模拟。[LLM Wiki理论与实践-02:使用Obsidian导入外部数据源构建知识库]我们介绍了如何充分利用Obsidian的插件导入外部数据源来建立知识库。在LangChain体系中针对LLM Wiki的实现是一个名为OpenWiki的CLI工具。

JaydenAI的博客 177

GPT Image 2 出的 UI 图如何转成 HTML 和可编辑 Figma

AI 生成的 UI 图,本身只是起点。用 Codex 或 Claude Code 把它变成 HTML,就有了能演示的页面;用 html.to.design 把 HTML 导回 Figma,就有了能沉淀的设计源文件;用 Codia 直接把图转成 Figma,则适合只要设计稿、追求速度的场景。三条链路互相补充,组合起来就形成了"图、代码、设计稿"之间的闭环。同时也要清楚它的边界:单张位图缺少精确数值,像素级还原目前还做不到稳定;图里的文字和图标需要人工把关。

JEECG官方博客 220

开源项目推荐:2027 高考志愿填报指北|开源单页 HTML 高报资料工具书

高考志愿填报信息量大、维度多,考生与家长往往面临资料零散、信息不对称、优质内容收费门槛高等问题。《2027 高考志愿填报指北》是雪人老师开源的高报笔记资料汇编,将 683 篇、280.5 万字的原创笔记整合为单页 HTML 电子书,覆盖专业、院校、城市、填报攻略四大板块。支持左侧折叠导航、快速跳转、浏览器原生 A4 打印,可在线阅读也可本地保存使用,采用 CC BY-NC 4.0 协议开源,非商业场景可自由传播改编,是高考志愿填报阶段实用的免费参考工具书。关键词:高考志愿填报;高报资料;开源电子书;

Admans的专栏 294

纯静态HTML项目文件打包成war包

纯静态HTML项目文件打包成war包

bjzhang75的博客 210

热榜上手|HyperFrames:写HTML出MP4

HeyGen 开源的 TypeScript 视频框架:把 HTML、CSS 动画直接渲染成确定性 MP4,专为 AI agent 批量出片设计,单周涨 5633 star。

mihuyang的博客 259

HTML 转 Word API:HTML 与 URL 输入、DOCX 输出和版式核对

HTML 转 Word API 可把 HTML 正文或公开网页转为可编辑的 DOCX。请求用 type 指定输入类型,用 content 传正文或地址。可选择公开链接或归属当前应用的私有文件引用。

DevOpenClub 专栏 228

前端三剑客与 HTML 核心标签

前端是项目的门面。这篇文章把 HTML 的骨架作用、常用标签的专属属性、iframe 嵌套、锚点定位、表格与表单逐项拆开,最后落到「一个标签的属性能干什么」这个最实际的问题上。

2401_89953644的博客 248

用VBA调用Python脚本抽取Word文档表格HTML

本文通过使用VBA调用Python脚本抽取Word文档中的表格的等价HTML表结构代码,演示了VBA调用Python脚本以及获取Python节本输出的方法。

yivifu的专栏 179

OpenCode v2.2 Artifacts 实战:让 Agent 交付可预览 HTML、插件存储与发布治理

OpenCode v2.2.4 新增实验性的 Artifacts 能力,Agent 可以创建、读取、更新、删除并预览 HTML 或静态制品。本文从启用配置、四类核心工具、本地 Provider、插件存储、版本化更新、预览验收到安全与发布治理,给出一套把“代码生成”升级为“可查看、可验收、可追溯交付”的团队实践。

jerry764的博客 422

INP实战:单文件HTML全量重绘拖到226ms

单文件 HTML 工作台实测:一次点击全量重建 7 个模块,1000 条时 JS 侧 226ms 掉出 INP 良好区间。读完能拿到 DOM 节点账、写放大倍数、七源串行 59.7s→8.8s 的并发改造对比与 6 个优化修法。

Dai_sir_man的博客 196
上一篇: ASP Forum2.0学习笔记之一---初识default.aspx
下一篇: ASP Forum2.0学习笔记之三---换肤的vb实现
mint
博客等级 码龄26年 4粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值