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

 更新时间:2021年9月22日 10:17  点击:1923
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;
}
}

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

相关文章

  • C# 重写ComboBox实现下拉任意组件的方法

    C#种的下拉框ComboBox不支持下拉复选框列表与下拉树形列表等,系统中需要用到的地方使用了第三方组件,现在需要将第三方组件替换掉。这篇文章主要介绍了C# 重写ComboBox实现下拉任意组件的相关资料,需要的朋友可以参考下...2020-06-25
  • 深入分析c# 继承

    这篇文章主要介绍了c# 继承的相关资料,文中讲解的非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-11-03
  • C#中重载与重写区别分析

    这篇文章主要为大家详细介绍了C#中重载与重写的区别,感兴趣的小伙伴们可以参考一下...2020-06-25
  • php构造方法中析构方法在继承中的表现

    这篇文章主要为大家详细介绍了php构造方法中析构方法在继承中的表现,感兴趣的小伙伴们可以参考一下...2016-04-15
  • 原生Javascript实现继承方式及其优缺点详解

    JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一,那么这篇文章主要给大家介绍了关于原生Javascript实现继承方式及其优缺点的相关资料,需要的朋友可以参考下...2021-07-21
  • javascript中的3种继承实现方法

    这篇文章主要介绍了javascript中的3种继承实现方法,包括使用Object.create实现类式继承、使用utilities工具包自带的util.inherites、使用extends关键字,非常的实用,希望对大家了解javascript继承能够有所帮助...2016-01-30
  • 理解js对象继承的N种模式

    这篇文章主要为大家举例介绍了js对象继承的几种模式,内容很全面,感兴趣的小伙伴们可以参考一下...2016-01-26
  • js继承的6种方式详解

    这篇文章主要给大家介绍了关于js继承的6种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-06
  • 简单理解JavaScript中的封装与继承特性

    这篇文章主要介绍了JavaScript中的封装与继承特性,封装与继承是基于对象编程概念中的基本特性,需要的朋友可以参考下...2016-03-22
  • Spring Cloud中使用Feign,@RequestBody无法继承的解决方案

    这篇文章主要介绍了Spring Cloud中使用Feign,@RequestBody无法继承的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-22
  • ES6新特性之类(Class)和继承(Extends)相关概念与用法分析

    这篇文章主要介绍了ES6新特性之类(Class)和继承(Extends)相关概念与用法,结合实例形式较为详细的分析了ES6中类(Class)和继承(Extends)的基本概念、语法、使用方法与注意事项,需要的朋友可以参考下...2017-05-27
  • js中实现继承的五种方法

    这篇文章主要介绍了js中实现继承的五种方法,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下...2021-01-26
  • C++子类父类成员函数的覆盖和隐藏实例详解

    这篇文章主要介绍了C++子类父类成员函数的覆盖和隐藏实例详解的相关资料,需要的朋友可以参考下...2020-04-25
  • 浅谈C# 类的继承

    本文主要介绍了C# 类的继承相关知识。具有很好的参考价值,下面跟着小编一起来看下吧...2020-06-25
  • C++设计类不能被继承的方法实例讲解

    在Java 中定义了关键字final,被final修饰的类不能被继承,C++中如何实现,下面我们来看一个例子...2020-04-25
  • C#中实现多继承的方法

    这篇文章主要介绍了C#中实现多继承的方法,本文通过给接口添加扩展的方法实现了C#的多继承,需要的朋友可以参考下...2020-06-25
  • 夯基础之手撕javascript继承详解

    这篇文章主要给大家介绍了关于手撕javascript继承的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-10
  • 谈一谈javascript中继承的多种方式

    本文就和大家谈一谈javascript中的继承,什么是继承,继承的作用,以及js继承的实现代码,感兴趣的小伙伴们可以参考一下...2016-02-21
  • C++填坑的重写,重载和隐藏的详解

    这篇文章主要介绍了C++中重载、重写(覆盖)和隐藏的区别,是C++面向对象程序设计非常重要的概念,需要的朋友可以参考下,希望能够给你带来帮助...2021-09-18
  • MySQL 重写查询语句的三种策略

    这篇文章主要介绍了MySQL 重写查询语句的三种策略,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下...2021-05-10