用类的继承关系(重写父类的方法)实现简易后台代码模板_实用技巧

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

实验代码如下
首先是模板类的抽象,继承自Page类;

复制代码 代码如下:

public class Template : System.Web.UI.Page
{
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (!IsPostBack)
{
DataRefresh();
}
}
protected virtual void DataRefresh()
{
}
protected virtual void grid_Init(object sender, EventArgs e)
{
var grid = sender as GridView;
grid.AllowPaging = true;
grid.PageSize = 10;
grid.PagerSettings.Mode = PagerButtons.NumericFirstLast;
}
protected virtual void grid_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
var grid = sender as GridView;
grid.PageIndex = e.NewPageIndex;
DataRefresh();
}
}

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

复制代码 代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Child.aspx.cs" Inherits="WebTest.Child" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="grid" runat="server" OnInit="grid_Init" OnPageIndexChanging="grid_PageIndexChanging"></asp:GridView>
</div>
</form>
</body>
</html>

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

复制代码 代码如下:

public partial class Child : Template
{
protected override void DataRefresh()
{
grid.DataSource = new LogDao().GetLogsByYearMonth("2012", "10");
grid.DataBind();
}
protected override void grid_Init(object sender, EventArgs e)
{
base.grid_Init(sender, e);
grid.PagerSettings.Mode = PagerButtons.NextPreviousFirstLast;
grid.PageSize = 15;
}
}

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

时间: 2024-12-22 14:48:26

用类的继承关系(重写父类的方法)实现简易后台代码模板_实用技巧的相关文章

asp.net继承IHttpHandler接口实现给网站图片添加水印功能实例_实用技巧

本文实例讲述了asp.net继承IHttpHandler接口实现给网站图片添加水印功能.分享给大家供大家参考,具体如下: 先展示图片效果: 1. 在App_Code下添加类文件,命名为ImageSY 文件内容如下 public class ImageSY : IHttpHandler { public ImageSY() { // //TODO: 在此处添加构造函数逻辑 // } #region IHttpHandler 成员 public bool IsReusable { get { ret

asp.net 继承自Page实现统一页面验证与错误处理_实用技巧

复制代码 代码如下: isAdmin(); 因为当时没有用母版页去做,所以不能在母版页中统一判断权限,而当时我限于自己水平,也没有采用继承自Page这个类的方法去统一处理一些页面加载的时候都要处理的事情.现在根据"李天平(动软)"的一些代码记录下,也希望大家要学会使用继承啊! 看下一个简单的继承自Page的PageBase: 复制代码 代码如下: using System; using System.Data; using System.Configuration; using Sys

asp.net用url重写URLReWriter实现任意二级域名 高级篇_实用技巧

 我最近写了个小例子,大家可以先看这个,里面有小例子的完整代码下载 http://www.jb51.net/article/20906.htm 好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在文章的后面回复(这是最有效的办法),我会尽力帮助大家解答疑惑. 来找这篇文章的,应该都知道什么叫二级域名吧,废话就不说了.但是讨论前,先要明白一个思想问题.很多朋友一直考虑不清(我前几天也一直搞不明白)的问题是,我键入一个地址后,怎么这个url就被重写了?第一步:在浏览器键入了一个地址,比如h

asp.net下用url重写URLReWriter实现任意二级域名的方法第1/2页_实用技巧

摘要:解释了url重写的相关知识.用asp.net实现二级域名重写的方法.对重写的一些问题做了汇总解答.提供了几段示例代码. 好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在文章的后面回复(这是最有效的办法),我会尽力帮助大家解答疑惑. 来找这篇文章的,应该都知道什么叫二级域名吧,废话就不说了.但是讨论前,先要明白一个思想问题.很多朋友一直考虑不清(我前几天也一直搞不明白)的问题是,我键入一个地址后,怎么这个url就被重写了?第一步:在浏览器键入了一个地址,比如http://lov

解决重写父类的方法且不会影响继承的子类的问题

解决重写父类的方法且不会影响继承的子类的问题 基类的方法被所有继承的子类继承,是不应该被修改的,如果继承的子类重写了基类的方法,那么,再从这个子类派生出子类的话,这个派生的子类接口已经破坏掉了统一的接口. 但有时候,我们需要一个子类能扩展基类的方法,但又不想破坏这个统一的接口,这时候,哥就来教你既能扩展功能,又能保证接口的统一性:) 首先做几个实验验证: 提供的源码如下: A类  B类  C类  (B类继承于A类,C类继承于B类) // // A.h // Super // // Copyrig

Cocoa框架类之间继承关系

原文出处:http://blog.csdn.net/duanyipeng/article/details/7110324 Cocoa框架类之间继承关系是本文要介绍的内容,主要是来了解cocoa的继承关系,Cocoa框架包含两个核心框架:Foundation和Application Kit (UIKit) 框架. 在Cocoa开发中是必要的,至于其它框架(如:Core Data.Sync Services.Address Book.Preference Panes.Screen Saver.Web

多态-java中为什么会自动执行子类重写父类的方法?

问题描述 java中为什么会自动执行子类重写父类的方法? 问题: 1.在main方法中我没有调用paint方法,为什么它会自动被调用? 2.老师说这是多态,可是多态不是需要三个条件实现么?继承,重写方法,父类引用指向子类对象,这里没有第三点啊 代码如下: public class GameFrame extends Frame{ public void launchFrame(){ setSize(500,500); setLocation(100,100); setVisible(true);

在JavaScript中模拟类(class)及类的继承关系_javascript技巧

Javascipt语法不支持"类"(class)[es6已经支持],但是有模拟类的方法.今天我主要谈谈Javascipt中模拟"类"的方法及js中继承的总结和回顾. js中实现"类"与继承,既是重点,又是难点.很多同学可能都对js中"类"与继承都有所了解,但是深入剖析的时候,感觉力不从心.模棱两可. 我们先来总结一下js定义"类"的几种方法: 方法一:构造函数法 这个方法是比较经典的方法,我们会经常见到.生

详解.NET中的加密算法总结(自定义加密Helper类续)_实用技巧

1.1.1 摘要 相信许多人都使用过.NET提供的加密算法,而且在使用的过程我们必须了解每种加密算法的特点(对称或非对称,密钥长度和初始化向量等等).我也看到过很多人写过.NET中加密算法总结,但我发现个别存在一些问题,很多人喜欢罗列每种加密算法的具体实现,假设我们要求实现AES和Triple DES加密算法,的确可以很多地分别给出它们的具体实现.  那我们真的有必要给出每个加密算法的具体实现吗?而且这样的设计不符合OOP设计思想,最重要的是我们要维护多个加密算法啊!OK接下来让我们实行一个可扩