日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
白話詳解ASP.NET的設計思想

自從有了html與http,就有了瀏覽器與Web服務器,并有了Web應用,最初的交互模式是這樣的:

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比大邑縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式大邑縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋大邑縣地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。

 

該模式很好地運行了很多年。然而,隨著計算機應用的發(fā)展,人們越來越不滿足于只有靜態(tài)內容的頁面,而由某種機制動態(tài)產生html等代碼的需求越來越迫切,于是,很多技術就應運而生,ASP.NET就是這樣一種技術。從本質上講,ASP.NET就是一種服務器端動態(tài)產生html、css、javascript等瀏覽器認識的代碼的技術。ASP.NET的交互模式如下:

由該圖可知,ASP.NET必須解決兩大問題,一是如何與Web服務器(一般就是指IIS)進行交互,二是如何根據(jù)不同請求產生不同的html等代碼。

***個問題,根據(jù)IIS版本(5.*,6.0,7.0)的不同,ASP.NET具有不同的進程模式與不同的交互模式,該問題不是本篇要講述的。一般來說,大家不必關心該問題,而且要了解該問題,又必須清楚IIS各個版本的模型,而各個版本又各有各的不同,因此,我基本不準備講述這個問題,大家有興趣的話,可以自行搜索相關資料。

我們來討論第二個問題,這里首先要說明的是,因為IIS7.0進程模式的變化比較大,我也沒去了解IIS7.0的模型,因此,以下講述及以后講述將只針對IIS5.*與IIS6.0。我們有理由認為,針對IIS5.*與IIS6.0的講述一般同樣適用于IIS7.0。

先且按下該問題不表,我們來看一段請求玉帝把大象放到冰箱里的代碼(為什么不是上帝?因為我中華不歸上帝管),請大家先跟著我的思路來,別急,別急。

   using System;

namespace ConsoleApplication3
11_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_45_2811_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_45_2811_Closed_Text').style.display='inline';" src="/files/uploadimg/20090423/1047402.gif" align=top>[[2179]][[2180]]{
[[2181]]    class Program
[[2182]][[2183]]    [[2180]]{
[[2181]]        static void Main(string[] args)
[[2182]][[2183]]        [[2180]]{
[[2181]]            Emperor emperor = new Emperor();
[[2181]]            while (true)
[[2182]][[2183]]            [[2180]]{
[[2181]]                Console.WriteLine("首先給玉帝準備好大象和冰箱。");
[[2181]]
[[2181]]                Console.WriteLine("輸入大象的名字:");
[[2181]]                string elephantName = Console.ReadLine();
[[2181]]                Console.WriteLine("輸入大象的體重:");
[[2181]]                int elephantWeight = int.Parse(Console.ReadLine());
[[2181]]                Console.WriteLine("輸入冰箱的名字:");
[[2181]]                string refrigeratorName = Console.ReadLine();
[[2181]]
[[2181]]                Elephant elephant = new Elephant()
[[2182]][[2183]]                [[2180]]{
[[2181]]                    Name = elephantName,
[[2181]]                    Weight = elephantWeight
[[2184]]                };
[[2181]]                Refrigerator refrigerator = new Refrigerator()
[[2182]][[2183]]                [[2180]]{
[[2181]]                    Name = refrigeratorName
[[2184]]                };
[[2181]]
[[2181]]                Context context = new Context()
[[2182]][[2183]]                [[2180]]{
[[2181]]                    Elephant = elephant,
[[2181]]                    Refrigerator = refrigerator
[[2184]]                };
[[2181]]
[[2181]]                emperor.ProcessRequest(context);
[[2181]]
[[2181]]                Console.WriteLine("是否要玉帝繼續(xù)把大象關進冰箱里?");
[[2181]]                string answer = Console.ReadLine();
                if (answer == "n")
                    break;
           }
[[2184]]        }
    }

    class Emperor
    {
[[2181]]        public void ProcessRequest(Context context)
[[2182]][[2183]]        {
[[2181]]            Elephant elephant = context.Elephant;
[[2181]]            Refrigerator refrigerator = context.Refrigerator;
[[2181]]
[[2181]]            //***步,打開冰箱門
[[2181]]            refrigerator.IsOpen = true;
[[2181]]            Console.WriteLine(string.Format("玉帝打開了 {0} 的冰箱門。", refrigerator.Name));
[[2181]]
[[2181]]            //第二步,把大象放進去
[[2181]]            refrigerator.Content = elephant;
[[2181]]            Console.WriteLine(string.Format("玉帝把大象 {0} 放到冰箱 {1} 里了。", elephant.Name, refrigerator.Name));
[[2181]]
[[2181]]            //第三步,關上冰箱門
[[2181]]            refrigerator.IsOpen = false;
[[2181]]            Console.WriteLine(string.Format("玉帝關上了 {0} 的冰箱門。", refrigerator.Name));
[[2184]]        }
[[2184]]    }
[[2181]]
[[2181]]    class Elephant
[[2182]][[2183]]    [[2180]]{
[[2182]][[2183]]        public string Name [[2180]]{ get; set; }
[[2182]][[2183]]        public int Weight[[2180]]{ get; set; }
[[2184]]    }
[[2181]]
[[2181]]    class Refrigerator
[[2182]][[2183]]    [[2180]]{
[[2182]][[2183]]        public string Name { get; set; }
[[2182]][[2183]]        public bool IsOpen { get; set; }
[[2181]]
[[2181]]        private object m_Content;
[[2181]]        public object Content
[[2182]][[2183]]        {
[[2182]][[2183]]            get { return this.m_Content; }
[[2181]]            set
[[2182]][[2183]]            {
[[2181]]                if (!this.IsOpen)
[[2181]]                    throw new InvalidOperationException("冰箱門未打開,無法放進東西。");
[[2181]]                if (this.m_Content != null)
[[2181]]                    throw new InvalidOperationException("冰箱內有東西,無法放進新的東西。");
[[2181]]
[[2181]]                this.m_Content = value;
[[2184]]            }
[[2184]]        }
[[2184]]    }
[[2181]]
[[2181]]    class Context
[[2182]][[2183]]    [[2180]]{
[[2182]][[2183]]        public Elephant Elephant [[2180]]{ get; set; }
[[2182]][[2183]]        public Refrigerator Refrigerator [[2180]]{ get; set; }
[[2184]]    }
[[2185]]}

請大家先認真讀懂該代碼,該代碼不會有問題吧,如果有問題,那么還請你一定先讀懂該代碼再往下看。

后來,玉帝累了,他想啊,我堂堂玉帝,居然親自干這種沒含量的活,但是顧客是玉帝的玉帝,又不能不干。于是,玉帝找了兩個手下(把門大神、神象星宿)來幫他干活。

_Text_112146').style.display='none'; document.getElementById('Code_Open_Image_112146').style.display='inline'; document.getElementById('Code_Open_Text_112146').style.display='inline';" height=16 src="/files/uploadimg/20090423/1047403.gif" width=11 align=top>[[2186]]Code2
using System;
using System.Collections.Generic;

namespace ConsoleApplication3
[[2186]][[2179]][[2180]]{
[[2181]]    class Program
[[2182]][[2183]]    [[2180]]{
[[2181]]        static void Main(string[] args)
[[2182]][[2183]]        [[2180]]{
[[2181]]            Emperor emperor = new Emperor();
[[2181]]            emperor.Init();
[[2181]]
[[2181]]            while (true)
[[2182]][[2183]]            [[2180]]{
[[2181]]                Console.WriteLine("首先給玉帝準備好大象和冰箱。");
[[2181]]
[[2181]]                Console.WriteLine("輸入大象的名字:");
[[2181]]                string elephantName = Console.ReadLine();
[[2181]]                Console.WriteLine("輸入大象的體重:");
[[2181]]                int elephantWeight = int.Parse(Console.ReadLine());
[[2181]]                Console.WriteLine("輸入冰箱的名字:");
[[2181]]                string refrigeratorName = Console.ReadLine();
[[2181]]
[[2181]]                Elephant elephant = new Elephant()
[[2182]][[2183]]                [[2180]]{
[[2181]]                    Name = elephantName,
[[2181]]                    Weight = elephantWeight
[[2184]]                };
[[2181]]                Refrigerator refrigerator = new Refrigerator()
[[2182]][[2183]]                [[2180]]{
[[2181]]                    Name = refrigeratorName
[[2184]]                };
[[2181]]
[[2181]]                Context context = new Context()
[[2182]][[2183]]                [[2180]]{
[[2181]]                    Elephant = elephant,
[[2181]]                    Refrigerator = refrigerator
[[2184]]                };
[[2181]]
[[2181]]                emperor.ProcessRequest(context);
[[2181]]
[[2181]]                Console.WriteLine("是否要玉帝繼續(xù)把大象關進冰箱里?");
[[2181]]                string answer = Console.ReadLine();
[[2181]]                if (answer == "n")
[[2181]]                    break;
[[2184]]            }
[[2184]]        }
[[2184]]    }
[[2181]]
[[2181]]    class Emperor
[[2182]][[2183]]    [[2180]]{
[[2181]]        private IList m_Modules;
[[2182]][[2183]]        public Context Context [[2180]]{ get; set; }
[[2181]]
[[2181]]        public void Init()
[[2182]][[2183]]        [[2180]]{
[[2181]]            m_Modules = new List();
[[2181]]            m_Modules.Add(new OpenCloseRefrigeratorDoorModule());
[[2181]]            m_Modules.Add(new PutElephantToRefrigeratorModule());
[[2181]]
[[2181]]            foreach (IEmperorModule module in this.m_Modules)
[[2182]][[2183]]            [[2180]]{
[[2181]]                module.Init(this);
[[2184]]            }
[[2184]]        }
[[2181]]
[[2181]]        public void ProcessRequest(Context context)
[[2182]][[2183]]        [[2180]]{
[[2181]]            this.Context = context;
[[2181]]
[[2181]]            this.OnOpenRefrigeratorDoor();
[[2181]]            this.OnPutElephantToRefrigerator();
[[2181]]            this.OnCloseRefrigeratorDoor();
[[2184]]        }
[[2181]]
[[2181]]        public event EventHandler OpenRefrigeratorDoor;
[[2181]]        public event EventHandler PutElephantToRefrigerator;
[[2181]]        public event EventHandler CloseRefrigeratorDoor;
[[2181]]
[[2181]]        protected virtual void OnOpenRefrigeratorDoor()
[[2182]][[2183]]        [[2180]]{
[[2181]]            EventHandler handler = this.OpenRefrigeratorDoor;
[[2181]]            if (handler != null)
[[2182]][[2183]]            [[2180]]{
[[2181]]                handler(this, EventArgs.Empty);
[[2184]]            }
[[2184]]        }
[[2181]]
[[2181]]        protected virtual void OnPutElephantToRefrigerator()
[[2182]][[2183]]        [[2180]]{
[[2181]]            EventHandler handler = this.PutElephantToRefrigerator;
[[2181]]            if (handler != null)
[[2182]][[2183]]            [[2180]]{
[[2181]]                handler(this, EventArgs.Empty);
[[2184]]            }
[[2184]]        }
[[2181]]
[[2181]]        protected virtual void OnCloseRefrigeratorDoor()
[[2182]][[2183]]        [[2180]]{
[[2181]]            EventHandler handler = this.CloseRefrigeratorDoor;
[[2181]]            if (handler != null)
[[2182]][[2183]]            [[2180]]{
[[2181]]                handler(this, EventArgs.Empty);
[[2184]]            }
[[2184]]        }
[[2184]]    }
[[2181]]
[[2181]]    class Elephant
[[2182]][[2183]]    [[2180]]{
[[2182]][[2183]]        public string Name [[2180]]{ get; set; }
[[2182]][[2183]]        public int Weight[[2180]]{ get; set; }
[[2184]]    }
[[2181]]
[[2181]]    class Refrigerator
[[2182]][[2183]]    [[2180]]{
[[2182]][[2183]]        public string Name [[2180]]{ get; set; }
[[2182]][[2183]]        public bool IsOpen [[2180]]{ get; set; }
[[2181]]
[[2181]]        private object m_Content;
[[2181]]        public object Content
[[2182]][[2183]]        [[2180]]{
[[2182]][[2183]]            get [[2180]]{ return this.m_Content; }
[[2181]]            set
[[2182]][[2183]]            [[2180]]{
[[2181]]                if (!this.IsOpen)
[[2181]]                    throw new InvalidOperationException("冰箱門未打開,無法放進東西。");
[[2181]]                if (this.m_Content != null)
[[2181]]                    throw new InvalidOperationException("冰箱內有東西,無法放進新的東西。");
[[2181]]
[[2181]]                this.m_Content = value;
[[2184]]            }
[[2184]]        }
[[2184]]    }
[[2181]]
[[2181]]    class Context
[[2182]][[2183]]    [[2180]]{
[[2182]][[2183]]        public Elephant Elephant [[2180]]{ get; set; }
[[2182]][[2183]]        public Refrigerator Refrigerator [[2180]]{ get; set; }
[[2184]]    }
[[2181]]
[[2181]]    interface IEmperorModule
[[2182]][[2183]]    [[2180]]{
[[2181]]        void Init(Emperor emperor);
[[2184]]    }
[[2181]]
[[2181]]    class OpenCloseRefrigeratorDoorModule : IEmperorModule
[[2182]][[2183]]    [[2180]]{
[[2183]][[2182]]        IEmperorModule 成員#region IEmperorModule 成員
[[2181]]        public void Init(Emperor emperor)
[[2182]][[2183]]        [[2180]]{
[[2181]]            emperor.OpenRefrigeratorDoor += new EventHandler(this.OpenDoor);
[[2181]]            emperor.CloseRefrigeratorDoor += new EventHandler(this.CloseDoor);
[[2184]]        }
[[2184]]        #endregion
[[2181]]
[[2181]]        private void OpenDoor(object sender, EventArgs e)
[[2182]][[2183]]        [[2180]]{
[[2181]]            Emperor emperor = (Emperor)sender;
[[2181]]            Refrigerator refrigerator = emperor.Context.Refrigerator;
[[2181]]            refrigerator.IsOpen = true;
[[2181]]            Console.WriteLine(string.Format("玉帝的把門大神打開了 {0} 的冰箱門。", refrigerator.Name));
[[2184]]        }
[[2181]]
[[2181]]        private void CloseDoor(object sender, EventArgs e)
[[2182]][[2183]]        [[2180]]{
[[2181]]            Emperor emperor = (Emperor)sender;
[[2181]]            Refrigerator refrigerator = emperor.Context.Refrigerator;
[[2181]]            refrigerator.IsOpen = false;
[[2181]]            Console.WriteLine(string.Format("玉帝的把門大神關上了 {0} 的冰箱門。", refrigerator.Name));
[[2184]]        }
[[2184]]    }
[[2181]]
[[2181]]    class PutElephantToRefrigeratorModule : IEmperorModule
[[2182]][[2183]]    [[2180]]{
[[2183]][[2182]]        IEmperorModule 成員#region IEmperorModule 成員
[[2181]]        public void Init(Emperor emperor)
[[2182]][[2183]]        [[2180]]{
[[2181]]            emperor.PutElephantToRefrigerator += new EventHandler(this.PutElephantToRefrigerator);
[[2184]]        }
[[2184]]        #endregion
[[2181]]
[[2181]]        private void PutElephantToRefrigerator(object sender, EventArgs e)
[[2182]][[2183]]        [[2180]]{
[[2181]]            Emperor emperor = (Emperor)sender;
[[2181]]            Elephant elephant = emperor.Context.Elephant;
[[2181]]            Refrigerator refrigerator = emperor.Context.Refrigerator;
[[2181]]            refrigerator.Content = elephant;
[[2181]]            Console.WriteLine(string.Format("玉帝的神象星宿把大象 {0} 放到冰箱 {1} 里了。", elephant.Name, refrigerator.Name));
[[2184]]        }
[[2184]]    }
[[2185]]}

觀測該代碼有哪些變化?玉帝增加了一個Init方法,該方法召集了那些干活的手下,并交待手下你們要干的事情(初始化)。所有手下都繼承自IEmperorModule接口,該接口有一個Init方法,以初始化該手下能干的活。玉帝的ProcessRequest方法不再親自干活了,而僅僅是在那邊喊,該開門了,該把大象放進去了,該關門了。

來點題外話,上面代碼應用了模板方法模式,或者說是模板方法的變種。什么,不是,沒有抽象類,沒有抽象方法,沒有子類?請問,模板方法一定要有抽象類嗎?一定要有抽象方法嗎?一定要有子類嗎?我想,模板方法的精髓,在于它規(guī)定了特定的步驟算法,而這些步驟在必要的時候可以委托給其它方法實現(xiàn)。在傳統(tǒng)的模板方法中,是委托給子類實現(xiàn),而在我們擁有委托的情況下,難道我們不能委托給其它類實現(xiàn)嗎?其實,我想,學習設計模式,不要拘泥于形式,而要掌握其精髓,并靈活運用。就Gof的23種設計模式來說,我覺得其精髓幾乎全部可由一句話概括。)

天有不測風云,人有旦夕禍福,某一天,這神象星宿病了,他趕不動超過1000斤的大象了,怎么辦?玉帝于是又召集了超級神象星宿,可但凡有點能耐的都有點脾氣,超級神象星宿表示,只有其它人趕不動的大象他才來趕。

[[2179]][[2186]]Code3
using System;
using System.Collections.Generic;

namespace ConsoleApplication3
[[2186]][[2179]][[2180]]{
[[2181]]    class Program
[[2182]][[2183]]    [[2180]]{
[[2181]]        static void Main(string[] args)
[[2182]][[2183]]        [[2180]]{
[[2181]]            Emperor emperor = new Emperor();
[[2181]]            emperor.Init();
[[2181]]
[[2181]]            while (true)
[[2182]][[2183]]            [[2180]]{
[[2181]]                Console.WriteLine("首先給玉帝準備好大象和冰箱。");
[[2181]]
[[2181]]                Console.WriteLine("輸入大象的名字:");
[[2181]]                string elephantName = Console.ReadLine();
[[2181]]                Console.WriteLine("輸入大象的體重:");
[[2181]]                int elephantWeight = int.Parse(Console.ReadLine());
[[2181]]                Console.WriteLine("輸入冰箱的名字:");
[[2181]]                string refrigeratorName = Console.ReadLine();
[[2181]]
[[2181]]                Elephant elephant = new Elephant()
[[2182]][[2183]]                [[2180]]{
[[2181]]                    Name = elephantName,
[[2181]]                    Weight = elephantWeight
[[2184]]                };
[[2181]]                Refrigerator refrigerator = new Refrigerator()
[[2182]][[2183]]                [[2180]]{
[[2181]]                    Name = refrigeratorName
[[2184]]                };
[[2181]]
[[2181]]                Context context = new Context()
[[2182]][[2183]]                [[2180]]{
[[2181]]                    Elephant = elephant,
[[2181]]                    Refrigerator = refrigerator
[[2184]]                };
[[2181]]
[[2181]]                emperor.ProcessRequest(context);
[[2181]]
[[2181]]                Console.WriteLine("是否要玉帝繼續(xù)把大象關進冰箱里?");
[[2181]]                string answer = Console.ReadLine();
[[2181]]                if (answer == "n")
[[2181]]                    break;
[[2184]]            }
[[2184]]        }
[[2184]]    }
[[2181]]
[[2181]]    class Emperor
[[2182]][[2183]]    [[2180]]{
[[2181]]        private IList m_Modules;
[[2182]][[2183]]        public Context Context [[2180]]{ get; set; }
[[2181]]
[[2181]]        public void Init()
[[2182]][[2183]]        [[2180]]{
[[2181]]            m_Modules = new List();
[[2181]]            m_Modules.Add(new OpenCloseRefrigeratorDoorModule());
[[2181]]            m_Modules.Add(new PutElephantToRefrigeratorModule());
[[2181]]            m_Modules.Add(new SuperPutElephantToRefrigeratorModule());
[[2181]]
[[2181]]            foreach (IEmperorModule module in this.m_Modules)
[[2182]][[2183]]            [[2180]]{
[[2181]]                module.Init(this);
[[2184]]            }
[[2184]]        }
[[2181]]
[[2181]]        public void ProcessRequest(Context context)
[[2182]][[2183]]        [[2180]]{
[[2181]]            this.Context = context;
[[2181]]
[[2181]]            this.OnOpenRefrigeratorDoor();
[[2181]]            this.OnPutElephantToRefrigerator();
[[2181]]            this.OnCloseRefrigeratorDoor();
[[2184]]        }
[[2181]]
[[2181]]        public event EventHandler OpenRefrigeratorDoor;
[[2181]]        public event EventHandler PutElephantToRefrigerator;
[[2181]]        public event EventHandler CloseRefrigeratorDoor;
[[2181]]
[[2181]]        protected virtual void OnOpenRefrigeratorDoor()
[[2182]][[2183]]        [[2180]]{
[[2181]]            EventHandler handler = this.OpenRefrigeratorDoor;
[[2181]]            if (handler != null)
[[2182]][[2183]]            [[2180]]{
[[2181]]                handler(this, EventArgs.Empty);
[[2184]]            }
[[2184]]        }
[[2181]]
[[2181]]        protected virtual void OnPutElephantToRefrigerator()
[[2182]][[2183]]        [[2180]]{
[[2181]]            EventHandler handler = this.PutElephantToRefrigerator;
[[2181]]            if (handler != null)
[[2182]][[2183]]            [[2180]]{
[[2181]]                handler(this, EventArgs.Empty);
[[2184]]            }
[[2184]]        }
[[2181]]
[[2181]]        protected virtual void OnCloseRefrigeratorDoor()
[[2182]][[2183]]        [[2180]]{
[[2181]]            EventHandler handler = this.CloseRefrigeratorDoor;
[[2181]]            if (handler != null)
[[2182]][[2183]]            [[2180]]{
[[2181]]                handler(this, EventArgs.Empty);
[[2184]]            }
[[2184]]        }
[[2184]]    }
[[2181]]
[[2181]]    class Elephant
[[2182]][[2183]]    [[2180]]{
[[2182]][[2183]]        public string Name [[2180]]{ get; set; }
[[2182]][[2183]]        public int Weight[[2180]]{ get; set; }
[[2184]]    }
[[2181]]
[[2181]]    class Refrigerator
[[2182]][[2183]]    [[2180]]{
[[2182]][[2183]]        public string Name [[2180]]{ get; set; }
[[2182]][[2183]]        public bool IsOpen [[2180]]{ get; set; }
[[2181]]
[[2181]]        private object m_Content;
[[2181]]        public object Content
[[2182]][[2183]]        [[2180]]{
[[2182]][[2183]]            get [[2180]]{ return this.m_Content; }
[[2181]]            set
[[2182]]Id('Codehighlighter1_3485_3771_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_3485_3771_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_3485_3771_Open_Text').style.display='inline';" src="/files/uploadimg/20090423/1047407.gif" align=top>            [[2180]]{
[[2181]]                if (!this.IsOpen)
[[2181]]                    throw new InvalidOperationException("冰箱門未打開,無法放進東西。");
[[2181]]                if (this.m_Content != null)
[[2181]]                    throw new InvalidOperationException("冰箱內有東西,無法放進新的東西。");
[[2181]]
[[2181]]                this.m_Content = value;
[[2184]]            }
[[2184]]        }
[[2184]]    }
[[2181]]
[[2181]]    class Context
[[2182]][[2183]]    [[2180]]{
[[2182]][[2183]]        public Elephant Elephant [[2180]]{ get; set; }
[[2182]][[2183]]        public Refrigerator Refrigerator [[2180]]{ get; set; }
[[2181]]
[[2181]]        private IDictionary m_Items;
[[2181]]        public IDictionary Items
[[2182]][[2183]]        [[2180]]{
[[2181]]            get
[[2182]][[2183]]             none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">[[2180]]{
[[2181]]                if (this.m_Items == null)
[[2181]]    &n
當前文章:白話詳解ASP.NET的設計思想
標題鏈接:http://m.5511xx.com/article/ccdsheh.html