Asp.net 我的頁面繼承應用總結
今天寫的是一個個人技術總結而已,(到目前為止我還在為某些問題困擾,這個以後在說了),由於長久以來都是按照超級原始開發,建立頁面,拖放控制元件,然後雙擊形成方法,開始往裡面寫一些處理邏輯,個人覺得應該不是那麼如此而已,而且還套用三層架構這個東東,不過我還在為這個糾結呢問題很多啦。這次做的這個專案我想利用一些其他的方法處理,首先我先說幾個需要解決的問題:
- 系統是需要做身份判定來確認執行什麼功能
- 每個aspx.cs頁面都需要建立BLL層的類物件,然後執行方法
- 顯示層由於你啟用了大量的事件,然後會在aspx.cs形成很多的方法,這些方法一點聚合都感覺不到,例如departmentAdd.aspx,departmentManage.aspx,departmentEdit.aspx總體說來就是將一個部門資訊處理的類又分成了新增、管理、編輯類,我暈不知道微軟是為了方便還是保持內聚(結果在頁面級別全都拆開了,難怪人家.NET MVC出來了)。
基本就是以上幾個需要解決的問題
以下是我解決的方法其實到目前我也不認為是最好的方法
- 我將頁面的aspx.cs檔案裡面的類都不在繼承System.UI.Web.Page而是繼承了一個自己定義的類這個類來繼承System.UI.Web.Page。這樣子我就可以將系統身份判定所有頁面執行的公共方法全部聚合起來,繼承的頁面只需要呼叫就OK了,個人認為這個是個不錯的方法。
- 第二個問題我也在困擾了,我不想向過去那樣子不停的建立BLL層的類例項感覺這就是在重複的勞動勞動,每個頁面的事件方法裡面都要不停的建立一個或者幾個BLL例項來解決問題。我目前是將子頁面繼承一個父頁面,父頁面繼承System.UI.Web.Page,我在父頁面實現了事件方法,例如過去在子頁面都是雙擊一個按鈕會形成一個事件方法,我是這樣子實現的
父頁面:
public class DepartmentCtrl : System.Web.UI.Page
{
protected virtual void Page_Load(object sender, EventArgs e)
{
Response.Write("aaaa");
}
protected override void OnInit(EventArgs e)
{
this.Initialization();
base.OnInit(e);
}
private void Initialization()
{
}
protected virtual void Add(object sender, EventArgs e)
{
}
}
子頁面:
public partial class DepartmentAdd : Pain.BLL.DepartmentCtrl
{
protected new void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ }
}
protected override void OnInit(EventArgs e)
{
this.Initialization();
base.OnInit(e);
}
private void Initialization()
{
this.btnSave.Click += new EventHandler(this. Add);
//this.btnSave.Click += new EventHandler(this.BtnSave_Click);
}
/* 過去需要載入這個事件
protected void BtnSave_Click(object sender, EventArgs e)
{
}
*/
}
我感覺這樣子實現比較好不是為了好看呀,而是降低了UI的邏輯處理能力那麼在UI部分知識繫結事件而已,剩下的都交給父類來控制方法,父類在構造的時候就建立了對應的事物類的例項再也不用在各個aspx.cs頁面去建立例項了。(其實我認為這樣子才是聚合頁面部分的功能)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-676734/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaScript繼承總結JavaScript繼承
- JS中繼承方式總結JS中繼繼承
- JS 總結之原型繼承的幾種方式JS原型繼承
- JS物件導向:JS繼承方法總結JS物件繼承
- 單頁面應用和多頁面應用
- 前端學習輯錄(1):js繼承總結前端JS繼承
- js 繼承小結JS繼承
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- 面試官問:JS的繼承面試JS繼承
- 前端:你要懂的單頁面應用和多頁面應用前端
- 用 js 獲取頁面元素的位置圖文總結JS
- 繼承、抽象個人小結繼承抽象
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- 面試必問之繼承面試繼承
- 面試中聊到的javascript中的繼承面試JavaScript繼承
- 關於繼承、重寫、過載的易混淆之處的總結繼承
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- VUE 單頁面應用 修改頁面titleVue
- 面對面講述JavaScript之繼承的實現JavaScript繼承
- 我的頁面切圖[美工專用]
- 我的頁面
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- Kotlin之類繼承結構Kotlin繼承
- 類的繼承_子類繼承父類繼承
- 一個頁面繼承了base.html的內在是什麼情況?繼承HTML
- 多繼承 與 多重繼承繼承
- 點選連結跳轉到應用指定頁面
- vonic單頁面應用
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- js的繼承方法小結(prototype、call、apply)JS繼承APP
- Pyhon的繼承繼承
- Java的繼承Java繼承
- 類的繼承繼承
- 移動Web單頁應用開發實踐——頁面結構化Web
- 繼承繼承
- 什麼是繼承?Python繼承的特徵有哪些?繼承Python特徵
- 【前端 · 面試 】HTTP 總結(十)—— HTTP 快取應用前端面試HTTP快取
- [前端 · 面試 ]HTTP 總結(十)—— HTTP 快取應用前端面試HTTP快取