ASP.NET Aries 3.0发布(附带通用API设计及基本教程介绍)
主要更新:
1:升级处理机制(js请求由同步变更为异步)
2:优化前端JS:包括API和配置方式。
3:增加InputDialog功能。
4:增远远程验证功能。
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:增强前端使用体验。
ASP.NET Aries 3.0发布(附带通用API设计及基本教程介绍)的更多相关文章
- ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)
主要更新: 1:增加子目录部署支持. 2:增加Taurus.MVC支持. 3:优化及Bug修复. 1:增加子目录部署支持: 其实在重写Aries框架的时候,我是去掉了目录部署功能的,主要是为了加快Ar ...
- ASP.NET Core 2.0发布/部署到Ubuntu服务器并配置Nginx反向代理
原文链接https://www.linuxidc.com/Linux/2017-12/149557.htm ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用AS ...
- ASP.NET Aries 4.0 开源发布:已完成基础功能优化重写
主要更新: 1:增加AR.Global.GetUser() 方法返回当前登陆者的用户信息. 2:重写AR.Combobox 支持下拉树. 3:调整及扩展Input下拉的配置参数. 4:优化及新增AR. ...
- asp.net core 2.0发布到IIS流程及报错解决方案
我这是个新装的服务器,没有安装任何软件. 一.发布流程 1.安装AspNetCoreModule托管模块,同时会自动安装..net core runtime DotNetCore.2.0.8-Wi ...
- ASP.NET CORE 2.0 发布到IIS,IIS如何设置环境变量来区分生产环境和测试环境
0.前言 因为给前端的测试环境是windows,所以要设置windows上的环境变量,如果上Linux就没有这篇文章了,所以大家不要在意为什么core不放在linux上. 1.网上的解决方案 a 方式 ...
- asp.net core 2.0发布到IIS报错解决方案
大体来说,是环境的问题. 第一个错误,如图: 1. 查了网上说是文件夹权限的问题,依次设置了Everyone权限和IIS_IUSER权限,能勾选的都勾选了,然而并没有什么用,看来不是这个问题导致的. ...
- CosId 1.0.0 发布,通用、灵活、高性能的分布式 ID 生成器
CosId 通用.灵活.高性能的分布式 ID 生成器 介绍 CosId 旨在提供通用.灵活.高性能的分布式系统 ID 生成器. 目前提供了俩大类 ID 生成器:SnowflakeId (单机 TPS ...
- CosId 1.1.0 发布,通用、灵活、高性能的分布式 ID 生成器
CosId 通用.灵活.高性能的分布式 ID 生成器 介绍 CosId 旨在提供通用.灵活.高性能的分布式系统 ID 生成器. 目前提供了俩大类 ID 生成器:SnowflakeId (单机 TPS ...
- 快速开发框架CRL3.0发布,附带最新的项目示例CRLShoppingDemo
继上次使用CRL实现大数据分库分表方案升级到2.4,时隔不久又升级到了大版本号3.0,主要是因为结构发生了一些更改 ORM和业务封装Package分开了,增加了实例项目演示代码CRLShoppingD ...
随机推荐
- POCO Controller 你这么厉害,ASP.NET vNext 知道吗?
写在前面 阅读目录: POCO 是什么? 为什么会有 POJO? POJO 的意义 POJO 与 PO.VO 的区别 POJO 的扩展 POCO VS DTO Controller 是什么? 关于 P ...
- Jquery mobiscroll 移动设备(手机)wap日期时间选择插件以及滑动、滚动插件
Jquery Mobiscroll是一个用于触摸设备(Android phones, iPhone, iPad, Galaxy Tab)的日期和时间选择器jQuery插件.以及各种滑动插件 可以让用户 ...
- 神经网络、logistic回归等分类算法简单实现
最近在github上看到一个很有趣的项目,通过文本训练可以让计算机写出特定风格的文章,有人就专门写了一个小项目生成汪峰风格的歌词.看完后有一些自己的小想法,也想做一个玩儿一玩儿.用到的原理是深度学习里 ...
- 关于BAPI_PATIENT_CREATE(病患主数据创建)
第一次使用BAPI,遇到几个问题.现总结如下. CALL FUNCTION 'BAPI_PATIENT_CREATE' EXPORTING client = * INSTITUTION = '*' * ...
- H3 BPM让天下没有难用的流程之技术体系
一.技术架构 H3 BPM 基于微软.NET 技术架构,采用C#语言开发,以高开放.高扩展.高性能为核心准则,遵循分层的设计原理,结合最新的B/S 以及智能手机应用开发技术研发的. 图:H3 BPM ...
- Mysql - 函数
Mysql提供的函数是在是太多了, 很多我都见过, 别说用了. 园子里面, 有人弄了一个比较全的. MYSQL函数 我这里会将他写的完全拷贝下来, 中间会插入一些自己项目中使用过的心得 一.数学函数 ...
- 大数据之Yarn——Capacity调度器概念以及配置
试想一下,你现在所在的公司有一个hadoop的集群.但是A项目组经常做一些定时的BI报表,B项目组则经常使用一些软件做一些临时需求.那么他们肯定会遇到同时提交任务的场景,这个时候到底如何分配资源满足这 ...
- 解决Chrome 下载带半角分号出现net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION的问题
方式一:添加双引号Response.AddHeader("content-disposition", "attachment; filename=\"" ...
- [PHP源码阅读]strtolower和strtoupper函数
字符串的操作函数中,字符串的大小写转换也算是比较常用的函数,其底层实现也比较简单,下面来一探究竟. 我在github上有对PHP源码更详细的注解.感兴趣的可以围观一下,给个star.PHP5.4源码注 ...
- 40个Java多线程问题总结
前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...