透過下圖我們可以了解到Ajax新元件的基本架構,我們將整個架構圖從下至上依次作一個簡單的説明。
在整個Server的連接部分,我們依然透過InfoCommand對資料庫進行讀取,與EEP的Web架構是一致的,會將InfoCommand取得資料傳送給WebDataSource。
在Ajax新元件在DesignTime同樣連上WebDataSource,好用來開發哪些欄位要處理與設定,但在RunTime時期,則與之前的WebGridView連接WebDataSource不同,Ajax新元件在RunTime時不會直接連接資料源(不做DataBinding)
Ajax新元件主要是以屬性設定的方式來定義ExtJS元件的規格。ExtJS作爲業內首屈一指的前端JavaScript庫,它提供了良好的兼容性以及良好的用戶體驗、相應速度。因而為了避免EEP的開發者去撰寫Java Script,但又可保留ExtJS的各項優點,因此我們Ajax新元件會自動將這些設定值Render(翻譯呈現)成Java Script來控制Client端中ExtJS元件,因為沒有DataBinding,所以也不會有WebDataSource的資料Render出去。
真正的ExtJS元件的資料存取,則是由Web Client端透過CallBack呼叫IIS上的ExtGetData.ashx,這是EEP上為ExtJS元件所開發的共用資料存取共用程式,透過這個共用程式可以將原來WebDataSource所Cache到Session當中的數據讀出,因此,WebDataSource的CacheDataSet就必須配合設定為True,這樣WebDataSource的資料就會自動與Client的ExtJS元件進行互動,同樣的也可以將新增更改的資料送回UpdateComp來存回資料庫。
Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |