asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET中基类页的设计和使用[1]


发布日期:2023年10月03日
 
ASP.NET中基类页的设计和使用[1]

在Aspnet业务系统的开发过程中为了保证页面风格的一致性以及减少重复代码的编写我们需要引入基类页的概念定义一个基类页让所有的页面都继承这个基类并在该基类页中加入公用的属性和方法

实际使用时按照功能页面划分可以定义多个基类页

class FormBase

class BizFormBase FormBase

class ViewFormBase : BizFormBase

class EditFormBase : BizFormBase

class QueryFormBase : FormBase

FormBase基类页中的根提供与业务无关的服务URL重写日志等

BizFormBase加入和业务相关的属性该页面的当前业务对象ID等

ViewFormBaseEditFormBase实现具体的查看编辑功能

QueryFormBase实现对通用查询页面的封装

从面向对象的角度看基类页与普通的基类继承类设计其实区别并不大都要在基类中编写公用的属性方法并通过虚函数事件等方式让继承类重写或响应所不同的是基类页的设计过程受到所在环境的约束在WinForm环境下我们可以预先定义好窗体的公用元素如工具条默认的表格以及DataSource控件等而到了Aspnet下的WebForm则无法实现界面一级的继承同时加入了状态管理等要求

为了帮助大家理解我们以查询基类页的设计过程来分析

一个最简单的查询页面会包括三部分多个查询条件文本框查询按钮以及表格同时查询页会和一个数据访问组件关联当点查询时会把查询条件转成where语句提交给数据访问组件

QueryPeopleForm

OnQueryButtonClick()

{

string peopleName = txtPeopleNameText;

string peopleAge = txtPeopleAgeText;

string sql;

sql = stringFormat(Name Like%{}%and Age = {} PeopleName peopleAge);

PeopleManager manager = new PeopleManager();

thisgridMainDataSource = managerGetDataTable(sql);

thisgridMainDataBind();

}

当点击查询按钮时我们做了以下三件事

获取查询条件

提交查询

将查询结果绑定到表格

这儿的提交查询和绑定在不同的查询页面都是一样的于是我们首先把放到基类页中并提供这样一个方法void QueryAndBind(IManager manager string sql); 这儿要定义IManager接口让所有的Manager都实现该接口这样基类页就无需知道具体的Manager只要调用IManagerGetDataTable方法然后绑定表格到即可

使用基类页后的代码

QueryPeopleForm : QueryFormBase

OnQueryButtonClick()

{

string peopleName = txtPeopleNameText;

string peopleAge = txtPeopleAgeText;

sql = stringFormat(Name Like%{}%and Age = {} PeopleName peopleAge);

QueryAndBind(new PeopleManager() sql);

}

[] []

               

上一篇:ASP.NET中基类页的设计和使用[2]

下一篇:ASP.Net网络数据库:修改数据库[1]