ASP.NET动态增加控件 继承篇
随着後面要讲得东西越来越深,這邊文章內容以及程式碼,也變得越來越多,因為這不是我原來的目的,
所以我還是會盡量用淺顯易懂的方式來讓大家瞭解。
继承的好处,这里不多说,主要是 示范,如何在ASP.NET 来继承。
一般常見的繼承是用來改寫ASP.NET 既有的控件,而我最常用不是這方面,而是用來規範網頁標準開發流程,另一方面是用來減少我的程式碼,上述兩方面最終目的,
其實都是為了未來減少系統維護的困難度。
規範標準流程,在多人共同開發上,尤顯其重要性,否則有維護過他人程式的人,都知道每各開發者,都有其風格,你光要瞭解每個人的風格就要花很多時間了,最麻煩的還是,每個人 開發風格,還會隨著他的成長 來變化,這等於你每接收一隻程式,不管是不是同一人,都要重新 瞭解一次開發風格,其中所需成本可想而知。
在這邊程式中有使用deal_Button_Click 這個函式,這就是一種開發流程的規範,因為我們基底程式已經寫好必要流程,後面要繼承的人,就只能照我們的基底流程來開發,如此一來,如此我們就可以 藉由這種方式,來強迫後面使用的人,一定要用這個方式來開發。
而減少程式碼這個道理 也是顯而易見的,這個開發模式,就我本身長久經驗來看,在使用時,並不用想的太困難,尤其是想要一開始 就要想的很清楚,這都是很困難,反而造成使用這種開發模式的阻礙,我個人建議讀者在使用時,最簡單的方式,其實就是一直不斷的整裡手中的程式碼,把共通的部份集合起來,先能達成減少程式碼的目的就可以了,能減少程式碼,就能吸引其他開發人員一起使用,大家在一起不斷去討論、精進就可以了。
上述的方式,當然只是用一個簡要的方式,讓讀者容易瞭解,在一般大案子中,還是需要資深人員,先規劃架構以及定義相關計畫,來進行開發的,這些都有很多很深奧的理論,在討論了,也不需要我在這來畫蛇添足。
JS_Demo2Base.aspx.cs
1 using System;
2 using System.Data;
3 using System.Collections;
4 using System.Web.UI;
5 using System.Web.UI.WebControls;
6 using System.Web.UI.HtmlControls;
7 using System.Text;
8
9 public class JSDemoBase : System.Web.UI.Page{
10
11 protected HtmlGenericControl sourceTag;
12 protected Button _myBtn;
13 protected TextBox _myTB;
14
15 protected override void OnInit(EventArgs e)
16 {
17 base.OnInit(e);
18
19 Label message = new Label();
20 message.ID = "请输入你要说的话";
21 sourceTag.Controls.Add(message);
22
23 _myTB = new TextBox();
24 _myTB.ID = "input";
25 //input.Text = val;
26 sourceTag.Controls.Add(_myTB);
27
28 _myBtn = new Button();
29 _myBtn.ID = "btnSayHello";
30 _myBtn.Text = "SayHello";
31 sourceTag.Controls.Add(_myBtn);
32
33 string val = Request.QueryString.Get("val");
34 deal_Button_Click(val);
35 }
36
37 public virtual void deal_Button_Click(string value)
38 {
39 }
40
41 public Button btnSayHello
42 {
43&nb
- 发表评论
-
- 最新评论 更多>>