ASP.NET Aries 3.0發佈(附帶通用API設計及基本教程介紹)

主要更新:

1:升級處理機制(js請求由同步變動爲異步)html

2:優化前端JS:包括API和配置方式。前端

3:增長InputDialog功能。git

4:增遠遠程驗證功能。github

5:優化權限安全機制。數據庫

6:增長一次請求多個方法的功能。編程

7:優化支持文本數據庫(爲了演示Demo,節省我服務器的資源)安全

從舊版本升級的注意事項:

Config_Grid表的字段變動:服務器

viewname字段,變動爲Rules,長度爲250。網絡

MergeIndexed,更名爲:MergeIndex。框架

開源地址:

GitHub:https://github.com/cyq1162/Aries

Demo演示:http://aries.cyqdata.com/login.html (Demo掛回了美國的VPS【少數用戶訪問可能出現網絡慢的問題】,同時用上了文本數據庫)

JS API通用設計思惟介紹:

1:名稱空間:

AR.DataGrid:操做表格和樹形表格(須要實例化)。

AR.Upload:操做文件上傳(須要實例化,如:導入按鈕(點擊的時候彈出上傳Excel文件功能))。

AR.Form:操做表單頁面(如普通的編輯或新增頁面)。

AR.Combobox:操做下拉框對象。

AR.Utility:通用工具類:如AR.Utility.Ajax類就在這裏面。

AR.Global:全局對象。

2:通用事件與屬性:

1:對象(包括按鈕)都有$target,獲取JQ對象。

2:對象(包括按鈕)都有isHidden屬性,能夠按鈕顯示或隱藏。

3:對象(包括按鈕)都有三個事件(無論是按鈕仍是對象的初始化):

onBeforeExecute

onExecute(默認都執行這個)

onAfterExecute

處理時,根據業務,找到對應的對象,處理該事件便可。

4:有些對象有Items屬性(dg.Search.Items、dg.PKColumn.Items、AR.Global.DG.Items)

5:有些對象有add方法。

AR.DataGrid 簡單介紹:

1:支持類型(普通表格(datagrid)和樹形表格(treegrid)):

2:示例代碼:

var dg=new AR.DataGrid(objName,tableName,id,type);

//這裏能夠控制參數。

dg.bind();//綁定表格

3:呈現的效果:

或者是:(樹形菜單默認是經過右鍵菜單控制操做)

4:表格經常使用內部對象:

1:dg.ToolArea:包括搜索(Search)和工具條(ToolBar)。

2:dg.Search:搜索區

3:dg.ToolBar:按鈕工具條

4:dg.PKColumn:主鍵列區

5:dg.HeaderMenu:列頭右鍵菜單

6:dg.ContextMenu:行數據的右鍵菜單

5:前端JS API編程示例(結合通用對象通用事件,很容易知道在哪處理你要擴展的事件):

好比:你想在點擊查詢追加條件,那麼代碼就是:

dg.Search.BtnQuery.onBeforeExecute=function(para){在這裏追加條件。}

好比:你想隱藏重置按鈕,那麼代碼是:

dg.Search.BtnReset.isHidden=false;

好比:你想給查詢條件某個框賦值,那麼代碼是:

dg.Search.onAfterExecute=function(para){dg.Search.Items["列名"].val(123);};

也能夠在頁面加載後處理:

dg.options={

onLoadSuccess:function(){dg.Search.Items["列名"].val(123);}

}

其它細節,在源碼Demo裏有介紹,這裏就點到爲止了。

表單:Input相關的配置介紹:

1:遠程驗證數據是否存在:

 <input name="UserName"  class='easyui-validatebox' data-options="validType:'exists[UserName]'"  />

效果:(框架內部隱式的條件參數包括:頁面傳遞的id,AR.Form.tableName)

2:InputDialog

<input name="F4" dialog="Demo_TestA" multiple="true" editable="true" />

單選效果:(第一次運行時,須要配置下表頭,隱藏不須要呈現的列,而後調一個搜索框出來)

多選效果:

選擇後,是個下拉,還能夠再小操做:

3:關於下拉框的具體配置,在Demo裏有詳細,因此不詳說,只上一張圖:

配置表頭的配置規則(即由viewname變名的Rules字段)

效果:

本配置用於控制搜索區,目前支持$1和$2配置,規則爲:

$1:{}處理非下拉:

若是是日期或數據,默認變成區間查詢(如上圖中的F4字段配置),即默認clone:true,示例配置:

$1:{title:"my title",width:200,clone:false}

$2:{} 處理下拉:

可設按鈕寬度,是否多選,是否選擇,是否呈現請選擇,是否選擇時引起查詢,示例配置:

$2:{width:200,height:30,isQuery:false,mutiple:true,defaultitem:false}

AR.Utility.Ajax:一次請求多個方法,返回結果合集:

框架裏的示例代碼:

 $Core.Utility.Ajax.post("GetInitConfig,GetKeyValueConfig", null, null, null, null, function (result) {
        $Core.Global.Variable = result.GetInitConfig;
        $Core.Global.Variable.isLoadCompleted = true;
        $Core.Global.Config = result.GetKeyValueConfig;
    });

結果集按方法組合成Json返回。

其它:參考框架Demo,或/Web/SysAdmin/系統系統功能的用法:

總結:

1:本版本親自操刀前端API(以前版本的前端是交另外一個同事編寫)。

因爲操刀前端,最近天天都折騰到深夜3-4點:

2:提高了性能(以前的同步致使界面1-2秒空白的卡,速度體驗感很差)。

3:提高了安全性(以前版本有必定的權限安全問題)。

4:加強前端使用體驗。

相關文章
相關標籤/搜索