ASP.NET Web開發架構之零 項目介紹

來源:互聯網
上載者:User
文章目錄
  • 三大基礎功能
  • 五大核心組件
  • 項目原始碼視圖

項目名稱:Enterprise Solution

技術參數

1 C# ASP.NET Web Forms技術,藉助於ExtAspNet控制項,快速開發

2  SQL Server 資料庫。使用LLBL Gen ORM架構進行資料讀寫,可支援任意的資料庫

3  基於LLBL Gen ORM 架構,減少對SQL指令碼的依賴,專註於商務邏輯

登入表單,顯示需要登入的資料庫

進入主表單架構,左邊是功能導航,右邊是功能列表

點擊樹節點,右邊展開對應的功能項,點擊該功能,開啟新的選項卡,載入此功能

如果不習慣英語介面,可以點擊快速啟動欄中的設定,選項中文簡體或繁體,介面立即切換成對應的語種

中,選項卡並沒有翻譯成對應的語言,應該在架構資料庫中增加如下翻譯,才可以顯示正確的語言

exec spAddTranslationText  N'Sales Order', null, N'銷售單', N'銷售單'

所有的翻譯項目均以此方式完成。可通過查看錶LanguageTranslation,對翻譯的內容進行變更。

 

三大基礎功能

1  資料輸入表單  繼承於此表單,可以快速實現實體資料的輸入與儲存,讀取

2  報表表單  繼承於此表單,方便呈現微軟的RDLC用戶端報表

3  自訂查詢 在查詢設計工具中設計的查詢,均可以顯示為ASP.NET Web介面,瀏覽資料記錄並匯出為EXCEL

 

五大核心組件

1  菜單設計器 實現介面導航靈活,便於定製

2  報表設計師  靈活設計報表及其參數,方便實現多語言,多種參數傳遞,資料來源自動綁定

3  查詢設計工具 設計查詢,可用於C/S和B/S兩種方式呈現

4  工作流程設計工具 通過拖拉的方式,滿足經常發生變化的工作流程(訊息通知,審批)

5  開發工具  提供足夠數量的協助工具輔助,以方便開發中的各種需要,開發工具的預覽圖如下所示

這些工具,起源於平時的思考和收藏。比如,Enterprise Solution的資料讀寫代碼是藉助於Code Smith模板代碼,如果需要自動化的傳遞參數到Code Smith模板中,並產生指定的檔案,則需要使用中的Smith Builder代碼產生協助工具輔助。再比如,Solution Converter起源於在Visual Studio不同的版本中切換項目,則以此工具為方便。此項目源碼來源於CodeProject,在此,我只是把它整合到了Solution  Package中。

 

項目原始碼視圖

Business Logic 業務模型實體

Service   資料讀寫代碼,均由代碼產生器Smith Builder 產生

ExtAspNet 第三方控制項陳列庫,在此為了需要進行了部分擴充(extension)

Enterprise Solution Web應用程式的原始碼,ASP.NET Web Forms結構。Web項目中,所有的檔案夾和頁面名稱均小寫,頁面所在的檔案夾名稱要與其類型的命名空間相符合。來看一個記事本頁面的後台原始碼

[Function("AIITRL", "~/module/note.aspx")]public partial class note : EntryPageBase{        protected override void PageLoadEvent(object sender, EventArgs e)        {            if (!IsPostBack)                           TransactionType = "BlotterEntity";                                                   base.PageLoadEvent(sender, e);        }        public override EntityBase2 LoadEntity(string customerNo)        {            IBlotterManager manager = ClientProxyFactory.CreateProxyInstance<IBlotterManager>();            BlotterEntity customer = manager.GetBlotter(Convert.ToInt16(customerNo));            return customer;        }                  public override void DeleteEntity(EntityBase2 entity)        {            BlotterEntity user = (BlotterEntity)entity;            IBlotterManager manager = ClientProxyFactory.CreateProxyInstance<IBlotterManager>();            manager.DeleteBlotter(user);        }        public override void SaveEntity(EntityBase2 entity)        {            BlotterEntity user = (BlotterEntity)entity;            IBlotterManager manager = ClientProxyFactory.CreateProxyInstance<IBlotterManager>();            manager.SaveBlotter(user);        }     }

這就是基本的資料讀寫的所有代碼,包含讀取,刪除,儲存,均以override的方式存在,由架構類調用。

記事本功能介面如所示,EntryPageBase類型大大簡化了資料輸入表單的代碼量,專註於邏輯。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.