用类的继承关系实现简易后台代码模板

Asp.net的优势就在于快速构建应用,而对于一些最基础数据的增删改以及分页事件或者样式的设定可以通过在父类中写上虚方法来供子类调用,如果子类需要在模板的基础上衍生变化或者索性不要父类的方法的话,则只需要重写父类的方法即可。

实验代码如下:

首先是模板类的抽象,继承自Page类;

 1     public class Template : System.Web.UI.Page
 2     {
 3
 4         protected override void OnLoad(EventArgs e)
 5         {
 6             base.OnLoad(e);
 7
 8             if (!IsPostBack)
 9             {
10                 DataRefresh();
11             }
12         }
13
14         protected virtual void DataRefresh()
15         {
16         }
17
18         protected virtual void grid_Init(object sender, EventArgs e)
19         {
20             var grid = sender as GridView;
21             grid.AllowPaging = true;
22             grid.PageSize = 10;
23             grid.PagerSettings.Mode = PagerButtons.NumericFirstLast;
24         }
25
26         protected virtual void grid_PageIndexChanging(object sender, GridViewPageEventArgs e)
27         {
28             var grid = sender as GridView;
29             grid.PageIndex = e.NewPageIndex;
30             DataRefresh();
31         }
32     }

然后是一个继承此模板类的具体实例;

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Child.aspx.cs" Inherits="WebTest.Child" %>
 2
 3 <!DOCTYPE html>
 4
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 8     <title></title>
 9 </head>
10 <body>
11     <form id="form1" runat="server">
12     <div>
13         <asp:GridView ID="grid" runat="server" OnInit="grid_Init" OnPageIndexChanging="grid_PageIndexChanging"></asp:GridView>
14     </div>
15     </form>
16 </body>
17 </html>

最后就是关键的后台代码实现,此处假设需要修改grid的每页显示数和分页样式;

 1 public partial class Child : Template
 2     {
 3
 4         protected override void DataRefresh()
 5         {
 6             grid.DataSource = new LogDao().GetLogsByYearMonth("2012", "10");
 7             grid.DataBind();
 8         }
 9
10         protected override void grid_Init(object sender, EventArgs e)
11         {
12             base.grid_Init(sender, e);
13
14             grid.PagerSettings.Mode = PagerButtons.NextPreviousFirstLast;
15             grid.PageSize = 15;
16         }
17
18     }

以上仅是提供一种思路,如有错误望各网友批评指正。

时间: 2024-07-28 20:30:20

用类的继承关系实现简易后台代码模板的相关文章

【Unity】NGUI插件核心脚本类的继承关系

虽说目前(2015年3月28日)Unity4.6版本之后推出的UGUI系统替代NGUI已是大势所趋, 但作为被长久且广泛使用的优秀插件之一,NGUI的代码和架构依然有很多地方值得我们学习和借鉴. 本文整理了NGUI插件中的核心组件和功能组件脚本类的继承关系,并以图示的方式给出了初步分类. 原文首发:http://blog.csdn.net/duzixi 官方资料:http://www.tasharen.com/forum/index.php?topic=6754.0 NGUI版本:3.6.0

【Unity】常用脚本类的继承关系(入门篇)

前言 学习Unity开发引擎的初学者会接触大量的脚本类,而这些类之间的关系往往容易被忽略. 本文对Unity引擎开发中的一些常用类及其关系进行了简单的归纳总结. 博文首发地址:http://blog.csdn.net/duzixi Unity常用脚本类继承关系图 对Unity开发稍有了解的朋友都知道,在Unity开发框架中有4个基本层次:工程(应用程序).场景.游戏对象和组件. 在脚本中,整个应用程序和场景由Application类控制:而游戏对象和组件类均继承于Object类. 在Object

[Android Studio] Android Studio中查看类的继承关系

转载自:http://blog.csdn.net/hyr83960944/article/details/38098091 查看类的继承关系的快捷键F4,在Android Studio常用快捷键这篇文章中,有写了.今天主要是讲一些关于这个快捷键出来的界面的一些配置,这块功能相对偏冷一些,可能很多人都会用不到.但是关于这些配置,android studio中很多都是类似的. 废话不多说,直接上图,如下图,我选中Activity,然后按F4,右边会出现一个和Activity有继承关系的图. 1.先简

异常类的继承关系图

异常类的继承关系 基础的理论部分参见----Java教程总结随笔9,图如下所示: 异常的执行流程图,如下所示参考---Java教程总结随笔9: 理解以上图示,有助于思考和查阅.

由socketserver源码引出的类的继承关系

当我们拿到一份python源代码,我们要怎么去看呢? 下面我们以socketserver为例,看下面的一段代码: 1 #!/usr/bin/env python 2 # -*- coding: UTF-8 -*- 3 # Author: ZCX 4 5 import socketserver #导入socketserver模块 6 7 8 class MyServer(socketserver.BaseRequestHandler): #定义一个类 9 def handle(self): #定义

Android Studio中查看类的继承关系

查看类的继承关系的快捷键F4,在Android Studio常用快捷键这篇文章中,有写了.今天主要是讲一些关于这个快捷键出来的界面的一些配置,这块功能相对偏冷一些,可能很多人都会用不到.但是关于这些配置,android studio中很多都是类似的. 废话不多说,直接上图,如下图,我选中Activity,然后按F4,右边会出现一个和Activity有继承关系的图. 1.先简要分析下图中几个元素: 注:这边说第几个图标是从左到右的顺序来数的 第一个图标:显示所有的继承关系,包括父类,子类 第二个图

openmax component类的继承关系

向OpenCORE里继承一个新的codec时,需要用到OpenMAX接口规范对该codec进行封装,即要定义一个用于封装的类(wrapper),实现OpenMAX规定的集中核心方法(omx core methods).若该codec是一个音频解码器,则该类继承OmxComponentAudio类:若是视频解码器,则继承OmxComponentVideo类.而OmxComponentAudio和OmxComponentVideo类都是继承了OmxComponentBase类:OmxComponen

Pycharm 查看一个类的继承关系图

Pycharm 查看一个类的继承关系图 在我们开发过程中: 无论是使用的开发框架自带的类, 还是我们自定义的类都特别多; 并且类之间单继承和多继承频繁使用, 这个继承,不仅仅是一级的继承关系,包括好几层的继承.父类的父类的父类. 直到最后->很难清楚一个类的实现关系, 迷失类的作用. 这里我们可以通过查看类的继承关系, 明白类的作用 查看DRF框架的APIView类的继承关系 下图就是我们查找的继承关系 查看DRF框架的GenericAPIView类所在.py模块的所有类继承关系 1.通过Ctr

从设计基类及其派生类看继承关系

继承能够定义可重用.扩展或修改父类行为的子类.但基类的静态构造函数.实例构造函数和析构函数不能被派生类继承. 在下面实例中,定义一个基类Publication用于表示任何类型的出版物以及派生至Publication的其他类型Book类,由此也可以扩展为定义其他类型如:Magazine.Journal.Newspaper和Article. 在设计基类Publication时我们必须考虑到如下关系: 1.要在基类中添加哪些成员 2.基类是否用作派生类模板的抽象基类 3.类层次结构的扩展空间大小,要开