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中繼繼承
- Javascript繼承機制總結JavaScript繼承
- ASP.NET頁面重新整理方法總結ASP.NET
- Objective c 知識總結 繼承Object繼承
- ASP.NET頁面重新整理方法總結(收藏)ASP.NET
- 關於繼承的一些小總結繼承
- 單頁面應用和多頁面應用
- JS 總結之原型繼承的幾種方式JS原型繼承
- JS物件導向:JS繼承方法總結JS物件繼承
- maven 學習總結(五)——聚合與繼承Maven繼承
- 簡書頁面總結
- 前端:你要懂的單頁面應用和多頁面應用前端
- ASP.NET中的AJAX應用開發總結ASP.NET
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- 前端學習輯錄(1):js繼承總結前端JS繼承
- JavaScript 建立物件與繼承總結和回顧JavaScript物件繼承
- js 繼承小結JS繼承
- ASP.NET頁面間傳值彙總ASP.NET
- 面對面講述JavaScript之繼承的實現JavaScript繼承
- 【Longkin】ASP.NET應用程式跟蹤---(一)跟蹤頁面ASP.NET
- history API 和錨點連結在單頁應用頁面切換中的應用API
- VUE 單頁面應用 修改頁面titleVue
- Silverlight頁面通過繼承擴充套件實現繼承套件
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- 繼承、抽象個人小結繼承抽象
- a連結重新整理頁面與js重新整理頁面總結JS
- ASP.NET頁面重新整理:自動重新整理頁面的實現方法總結ASP.NET
- java容器類的繼承結構Java繼承
- vonic單頁面應用
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承
- 一個頁面繼承了base.html的內在是什麼情況?繼承HTML
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- 點選連結跳轉到應用指定頁面
- 關於繼承、重寫、過載的易混淆之處的總結繼承
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- 公有繼承、私有繼承和保護繼承之間的對比繼承