用类的继承关系(重写父类的方法)实现简易后台代码模板
更新时间:2013年01月23日 10:33:48 作者:
Asp.net的优势就在于快速构建应用,而对于一些最基础数据的增删改以及分页事件或者样式的设定可以通过在父类中写上虚方法来供子类调用,接下来将为您测试一下用子类重写父类的方法实现在模板的基础上衍生变化
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;
}
}
以上仅是提供一种思路,如有错误望各网友批评指正。
实验代码如下:
首先是模板类的抽象,继承自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 Core 之 Identity 入门(三)
本篇文章主要介绍了ASP.NET Core 之 Identity 入门,主要负责对用户的身份进行认证,有兴趣的可以了解一下。2016-12-12
WCF如何绑定netTcpBinding寄宿到控制台应用程序详解
这篇文章主要给大家介绍了关于WCF如何绑定netTcpBinding寄宿到控制台应用程序的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用WCF具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-07-07
asp.net Repeater取得CheckBox选中的某行某个值
Repeater取得CheckBox选中的某行某个值的实现代码2008-07-07
.NET调用控制台下生成的exe文件,传参及获取返回参数的思路及代码
.NET调用控制台下生成的exe文件,传参及获取返回参数的思路及代码,需要的朋友可以参考一下2013-06-06
ASP.NET MVC重写RazorViewEngine实现多主题切换
这篇文章主要为大家详细介绍了ASP.NET MVC重写RazorViewEngine实现多主题切换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-06-06


最新评论