在所有页面共享通用行为

简介:

     使用模板和主题能够使网站所有页面共享设计和外观,然而,有一些通用行为也要求共享,比如:显示网站的统计信息,更改页面主题元素等等;

     这里比较好的做法是:写一个BasePage类,让所有的页面都继承自它,而不是从标准的System.Web.UI.Page类继承。这样可以通过重写该类中的On***方法来处理页面上的任何事件;下面以做选择页面主题为例;

      1.首先写BasePage类;

public class BasePage : System.Web.UI.Page { protected override void OnPreInit(EventArgs e) { string id = Globals.ThemesSelectorID; if (id.Length > 0) { // EVENTTARGET为主题选择框的隐藏字段,通过它可以知道是否是由选择主题而使页面会送; if (this.Request.Form["__EVENTTARGET"] == id && !string.IsNullOrEmpty(this.Request.Form[id])) { this.Theme = this.Request.Form[id]; this.Session["CurrentTheme"] = this.Theme; } else { if (this.Session["CurrentTheme"] != null) this.Theme = this.Session["CurrentTheme"].ToString(); } } base.OnPreInit(e); } }

        2.由于使用到模板,所以让模板继承自这个类;

public partial class Template : System.Web.UI.MasterPage { protected void Page_Load(object sender, EventArgs e) { } }

         3.其他页面跟使用正常使用模板时一样;

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="MB.TheBeerHouse.UI._Default" Title="The Beer House" MasterPageFile="~/Template.master" %>

  

目录
相关文章
|
API Android开发 开发者
Android 12 适配指南——SplashScreen
Android 12(API 31)引入了 SplashScreen 相关API,用于开发Android应用的启动页。 SplashScreen相关API的引入影响在Andorid 12设备上运行的所有应用。若开发者未进行SplashScreen的适配工作,在应用冷启动和温启动时,可能会呈现两个启动页先后出现的情况(Android SplashScreen启动页 + Android应用自定义开发的启动页或引导页)。
2703 0
Android 12 适配指南——SplashScreen
|
人工智能 自然语言处理 算法
LLM主流开源代表模型(二)
随着ChatGPT迅速火爆,引发了大模型的时代变革,国内外各大公司也快速跟进生成式AI市场,近百款大模型发布及应用。
邮箱API发送邮件调试的方法和步骤
AokSend指南:调试邮箱API发送邮件涉及确认调试目的、检查参数设置、接口调用、异常处理、日志记录及结果验证。确保参数正确,关注接口返回,记录日志以分析问题,处理异常情况,最终验证邮件发送成功与内容准确性。AokSend提供高效发信服务,支持SMTP/API接口,适用于大量验证码发送。
|
存储 并行计算
小技巧大功效,仅阅读两次提示让循环语言模型超越Transformer++
【8月更文挑战第27天】斯坦福与布法罗大学的研究显示,通过&quot;Just-Read-Twice&quot;(JRT)策略,循环语言模型(RNNs)在多项任务上的表现超越了行业标杆Transformer++模型。JRT策略让RNNs在处理信息时进行两次读取,有效解决长上下文记忆难题,显著提升了性能。实验覆盖FDA、SQUAD等多个任务,均取得明显成效。论文已发布于arXiv。
127 2
Leetcode第十八题(四数之和)
这篇博客介绍了LeetCode第18题“四数之和”的解法,通过排序和双指针技术来找出数组中所有和为特定值的四个不同元素的组合。
89 0
|
关系型数据库 Docker Python
什么是Docker Volume?
摘要:Docker Volume,通常翻译为数据卷,用于保存持久化数据。当我们将数据库例如MySQL运行在Docker容器中时,一般将数据通过Docker Volume保存在主机上,这样即使删除MySQL容器,数据依然保存在主机上,有效保证了数据的安全性。
4288 1
|
网络协议
子网掩码的作用和设置方法
子网掩码是每个网管必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置。以下我们就来深入浅出地讲解什么是子网掩码。 IP地址的结构 要想理解什么是子网掩码,就不能不了解IP地址的构成。
3779 0
|
存储 缓存 自然语言处理
【面试题】深入理解闭包的形成过程及应用!
【面试题】深入理解闭包的形成过程及应用!
172 0
|
开发工具 git
【git】解决OpenSSL SSL_read: Connection was reset, errno 10054 ...
【git】解决OpenSSL SSL_read: Connection was reset, errno 10054 ...
412 0
|
安全 NoSQL 关系型数据库
【云服务器安全加固】
【云服务器安全加固】
420 0