博客
关于我
MasterPage(母板页)的不一般用法
阅读量:800 次
发布时间:2023-02-07

本文共 1351 字,大约阅读时间需要 4 分钟。

在ASP.NET项目中,通常我们会在页面前面添加编译指令来指定母板页。然而,通过page对象的MasterPageFile属性动态指定母板页也是一个可行的方法。这种方式通常在PreInit事件中进行配置。例如,可以在BasePage类的构造函数中添加事件处理程序:

public class BasePage : Page
{
public BasePage()
{
PreInit += Set_MasterPage;
}
private void Set_MasterPage(object sender, EventArgs e)
{
this.MasterPageFile = Request.Path + @"../jj.Master";
}
}

继承自BasePage类的页面将使用jj.Master作为母板页。这种方式的优势在于,只需改变一处代码即可更换母板页,每个母板页对应一个继承自Page类的自定义页面类。

在母板页的代码文件中,可以定义各种字段和属性供前端模板使用。这种方式可以实现链接和路径的分离,便于开发和部署。即使大段内容也可以分离,例如:

protected TemplateInfo TemplateInfo
{
get { return TemplateInfo.Instance; }
}

通过Singleton模式,可以将模板信息存储在单例中:

public class TemplateInfo
{
private static readonly TemplateInfo Instance = new TemplateInfo();
public static TemplateInfo Instance
{
get { return Instance; }
}
private static DateTime scriptTempLastTime;
private static string scriptHtml;
public static string ScriptHtml
{
get
{
string path = "";
DateTime lastDT = File.GetLastWriteTime(path);
if (scriptTempLastTime < lastDT || string.IsNullOrEmpty(scriptHtml))
{
scriptTempLastTime = lastDT;
scriptHtml = File.ReadAllText(path);
}
return scriptHtml;
}
}
}

这种方法的优势是,母板页的变化量可以分离到外部文件中,便于维护和部署。

转载地址:http://hzyfk.baihongyu.com/

你可能感兴趣的文章
NodeJS yarn 或 npm如何切换淘宝或国外镜像源
查看>>
nodejs 中间件理解
查看>>
nodejs 创建HTTP服务器详解
查看>>
nodejs 发起 GET 请求示例和 POST 请求示例
查看>>
NodeJS 导入导出模块的方法( 代码演示 )
查看>>
nodejs 开发websocket 笔记
查看>>
nodejs 的 Buffer 详解
查看>>
NodeJS 的环境变量: 开发环境vs生产环境
查看>>
nodejs 读取xlsx文件内容
查看>>
nodejs 运行CMD命令
查看>>
Nodejs+Express+Mysql实现简单用户管理增删改查
查看>>
nodejs+nginx获取真实ip
查看>>
nodejs-mime类型
查看>>
NodeJs——(11)控制权转移next
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
nodejs下的express安装
查看>>
nodejs与javascript中的aes加密
查看>>
nodejs中Express 路由统一设置缓存的小技巧
查看>>
nodejs中express的使用
查看>>