在Asp.net業務系統的開發過程中,為了保證頁面風格的一致性以及減少重復代碼的編寫,我們需要引入基類頁的概念,即:定義一個基類頁,讓所有的頁面都繼承這個基類,并在該基類頁中加入公用的屬性和方法。
實際使用時,按照功能頁面劃分,可以定義多個基類頁,如:
class FormBase class BizFormBase :FormBase class ViewFormBase : BizFormBase class EditFormBase : BizFormBase class QueryFormBase : FormBase |
QueryPeopleForm OnQueryButtonClick() { string peopleName = txtPeopleName.Text; string peopleAge = txtPeopleAge.Text; string sql; sql = string.Format(“Name Like‘%{0}%’and Age = {1}, PeopleName, peopleAge); PeopleManager manager = new PeopleManager(); this.gridMain.DataSource = manager.GetDataTable(sql); this.gridMain.DataBind(); } |
QueryPeopleForm : QueryFormBase OnQueryButtonClick() { string peopleName = txtPeopleName.Text; string peopleAge = txtPeopleAge.Text; sql = string.Format(“Name Like‘%{0}%’and Age = {1}, PeopleName, peopleAge); QueryAndBind(new PeopleManager(), sql); } |
public enum QueryOperator { //等于比較。 Equal = 0, // 不等于 NotEqual = 1, // Like比較 Like = 6 } class Query { void Add(string fieldName, string value, QueryOperator oper); string GetSql(); } QueryPeopleForm : QueryFormBase OnQueryButtonClick() { Query query = new Query(); query.Add(“Name”, txtPeopleName.Text, QueryOperator.Like); query.Add(“Age”, txtPeopleAge.Text, QueryOperator.Equal); QueryAndBind(new PeopleManager(), query.GetSql()); } |
QueryPeopleForm : QueryFormBase OnQueryButtonClick() { InitControls(gridMain); Query query = new Query(); query.Add(“Name”, txtPeopleName.Text, QueryOperator.Like); query.Add(“Age”, txtPeopleAge.Text, QueryOperator.Equal); QueryAndBind(new PeopleManager(), query.GetSql()); } |
QueryPeopleForm : QueryFormBase void Initialize() { // 指定頁面對應的Manager Manager = new PeopleManager(); // 綁定控件 InitControls(gridMain, btnQuery); } void GetQueryInfo(Query query) { //獲得查詢條件 query.Add(“Name”, txtPeopleName.Text, QueryOperator.Like); query.Add(“Age”, txtPeopleAge.Text, QueryOperator.Equal); } QueryFormBase: private IManager manager = null; public IManager Manager { get { return manager; } set { manager = value; } } void InitControls(GridView grid, Button queryButton) { this.defaultGrid = grid; this.queryButton = queryButton; queryButton.Click += new EventHandler(QueryButton_Click); } void QueryButton_Click(object sender, EventArgs e) { Query query = new Query(); GetQueryInfo(Query); QueryAndBind(manager, query.GetSql()); } |
新聞熱點
疑難解答
圖片精選