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

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

热门标签:阿里云 Mysql连接数设置 Linux服务器 电子围栏 科大讯飞语音识别系统 服务器配置 团购网站 银行业务
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;
}
}

以上仅是提供一种思路,如有错误望各网友批评指正。
您可能感兴趣的文章:
  • asp.net 用继承方法实现页面判断session
  • asp.net 继承自Page实现统一页面验证与错误处理
  • 给Asp.Net初学者的关于继承和多态性的例子

标签:枣庄 衡水 衢州 广元 萍乡 蚌埠 大理 江苏

巨人网络通讯声明:本文标题《用类的继承关系(重写父类的方法)实现简易后台代码模板》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266