Functional Demos

历史更新

日志操作


Winson.Framework 3.3发布 [2009-09-27]:

一、功能更新:
  • 增加 order 语句的使用
  • 对所有数据类型均能输入空值,之前是为了动态更新字段,所以只要为空则不操作,现在只要做了赋值操作的字段,无论是否为空值,都可以更新到数据库里了
  • 增加对 Oracle 的支持
  • 完善对 like 条件语句的支持, 可以使用左右Like的语法,如:
    cond["name like left"]="winson";
    cond["name like right"]="winson";
    cond["name like all"]="winson";
  • 增加对 or 条件的支持
  • 添加实体后直接返回实体ID
  • 添加实体事件中,可以直接获取整个新增的实体对象,并且可以传递自定义参数
  • 增加了从实体集合中获取实体集合的方法
  • 分页控件 SqlPager 增加了可自定义客户端分页函数
  • 分页控件 SqlPager 增加了可自定义CSS显示的数码分页样式

二、BUG修复:
  • 修复了对smallint 和 tinyint 数据类型的支持
  • 解决了分页控件 SqlPager 在 firefox 下的分页连接在失效时仍显示为黑色(正常应该灰色,表示无效)的问题,

Winson.Framework 3.2发布 [2009-04-6]:

一、功能更新:
  • 在生成代码时,可以选择是否使用自增ID的数据库
  • 为conditionValue里添加了in条件的使用
  • 增加事件管理,可为每个操作添加相应的事件,可查看更新数据这里的DEMO(点此进入)
  • 在分页根据获取条件记录数时增加缓存功能,如在同一查询条件下,会直接调用缓存里的数据
  • 完善了XmlHelper类,可灵活地操作XML数据,同时也增加了一个基本用法的DEMO文件(XMLTest.aspx)
  • 实体类获取时由原来返回 IList 改为 List<T> 的泛型集合,这样做目的是能更灵活地对实体集体进行操作,但不影响原有代码使用,即原来用 IList 获取的前台代码仍然不需改变。同时使用 List<T> 后也可以直接减少一个类文件 EntityCollection
  • 改善了通过实体主键在实体集合里查找的方法,直接使用 List<T>.Find() 方法进行查找,效率会更高
  • 修改了 URLRewrite 类,将URL规则文件的路径可直接放到配置文件里进行修改
  • 在 Utility 里增加了获取当前IP的方法

二、BUG修复:
  • 修复了数值类型不能为负数
  • 生成实体类时没对类名进行首字大写转换,导致程序编译出错
  • 修复了数字型字段如果更新时不赋值,将会自动更新为0
  • SqlPager控件在不使用母板页时会出现找不到页面的错误
  • 生成实体操作类时,引用的命名空间不会根据项目名称改变
  • 修复了对smallint 和 tinyint 数据类型的支持

Winson.Framework 3.1发布 [2009-01-14]:

主要更新:
  • 这个版本主要是对跨数据库的支持更好了,之前其实并未能支持MYSQL的,而且有部分代码由于是使用SQL语句写死了,因此对跨数据库支持不好,现在已解决了此问题,将需要hard code的sql抽取了出来,使用抽象方法去为不同的数据库定义自己的语句,这样做会更灵活,支持更好!
  • 现在已可真正支持MYSQL了,已经过测试的,同时也支持MSSQL2005,主要是增加了一个MYSQL的Provider,还有使用了MySql.Data.dll以完成对MYSQL的相关的操作,关于MySql.Data.dll可到 http://dev.mysql.com/downloads/connector/net/5.0.html 获取更多信息
  • 代码生成文件也有改动,因此请重新生成所有实体操作类代码

Winson.Framework 3.0发布 [2008-12-31]:

一、新特性:
  • 此版可说是一个全新的框架,因为所有底层数据操作代码已重写,之前版本的数据底层操作是使用了别人的,因此有很多代码用不上,代码比较繁杂,现在的底层操作已改用Providers模型,达到更加灵活的运用,只需改变一下配置文件,即可随时支持Access,MSSQL等三种数据库,当然如需要支持其他数据库,则要另行添加代码了。因此底层代码也比以前精简了很多
  • 附有完整的使用说明和DEMO,以网页形式发布,同时也方便以后的更新维护
二、新功能:
  • 使用Providers模型完成数据底层操作,同时也附上实体类操作代码生成模板
  • 使用了GZip压缩技术使得JS和CSS文件体积大大减小,同时在压缩时不会影响AJAX的使用,因此已可完美结合jQuery使用
  • 独立的日志记录系统,可以非常有效地捕获错误日志,生成XML文件的日志或者Windows的系统日志,同时也可以自定义生成事务日志, 将操作日志存放入指定的数据库。之所以使用XML形式,是方便以后对日志文件的操作,因此此功能生成的日志,也可以自行编程去处理。
  • 实体操作类的使用更加方便,只需实例化一个实体操作类,即可同时完成实体的赋值、增、删、查、改等所有操作
  • 添加了SessionHelper类,方便处理Session
  • 添加了二进制文件读写功能,可直接对图片等二进制文件进行读取入库等
  • 完美整合了jQuery的对话框控件,可使用C#语句方式去实例化和设置相关的参数,适合服务器端使用
  • 使用jQuery插件完成高亮代码显示,感觉这种方式比使用原来的高亮代码控件(CodeHighlighter)更加好用与方便,而且也更节省服务器资源
  • 在引用JS和CSS文件时,可一次性引用一个目录下的所有文件,不需要一个个文件名去输入,代码更简洁
  • 添加了配置文件读取功能,可从WEB.Config中的appSettings中取add...的参数值
  • 可支持同一个页面同时使用多个SqlPager控件进行AJAX分页
  • 添加了TagCloud云标签控件
三、修改的BUG:
  • 实体操作已几乎可支持所有数据类型(之前不支持byte[]等数据类型),如果大家发现还有哪种类型不支持,欢迎向我反馈
  • 使用了HttpCompress的页面压缩后,也可支持AJAX了
  • SqlPager控件已可支持母板页
  • 解决了SqlPager的NumPager模式下页数验证问题

Winson.Framework 2.5发布 [2008-06-15]:

一、新功能:
  • 实体操作类全部使用了缓存技术,有效提高运行效率
  • 将操作方法再进行了一次封装,使得在页面层调用时代码简洁了很多,也方便很多了
  • 增加HttpCompress控件,可有效将页面(包括CSS/JS)文件进行压缩以提高下载速度,为了看到效果,请使用
  • Fixfox并安装上FireBug插件然后再浏览相关页面,这时你可明显看到压缩前后的对比
  • 增加CookieHepler类,方便操作管理Cookie
  • 增加IPScanner类,可非常方便查询出访问者的IP以及此IP的真实地址位置
  • 在Utility里增加了专门的时间处理相关方法,能格式化出各种时间类型格式
  • 在Utility里增加了MD5加密功能函数,同时也增加了直接获取网站虚拟目录的函数
  • 增加了高亮代码控件及相关演示
  • 增加了标签云控件及相关演示
  • SqpPager控件也升级到2.5版了,改进如下:
    • 现已去掉了缓存与非缓存的设置,直接默认全部使用了缓存,并且会自动判断查询条件有无更改,
      如果2次查询的条件不同,则会重新获取数据,否则一直读取缓存中的数据
    • 既然使用数字分页模式,也不需要另外去设置ShowCount的值,系统已会自动判断,去掉多余的显示
      部分(之前必须设置ShowCount=2才可)
  • 完善了类库帮助文档.
二、修复的BUG:
  • SqlPager控件修复了不能显示最后一页数据
  • SqlPager控件修复了不能根据传入的查询条件去获取最新数据(此问题在旧版的非缓存状态同时是自定义数据源的情况下会出现)
  • SqlPager控件修复了在第一页时点上一页按钮仍然有效,但并没数据出来
  • 修复了实体类操作时不能批量添加数据
  • 修复了上传文件功能函数里否限制上传文件类型的问题

Winson.Framework 2.0发布 [2007-12-03]:

  • 已可使用CodeSmith直接生成项目所需所有实体类、实体操作类与实体操作基类等文件,并会自动创建相应目录,大大方便了操作
  • 新增一个完整的EMAIL收发类,可进行SMTP、POP3等协议的收发,具体可查看SendEmailDemo.aspx演示文件
  • 为SqlPager控件增加了数字页码分页效果,此效果只支持AJAX模式
  • 新增了ProMeshDemo模板框架,此框架可完全将代码与界面分离
  • 修复了原来SqlPager里的BUG,真正可支持自定义数据源了(之前会有翻不了页的情况出现)
  • 修复了之前生成实体类时无法判断Decimal类型字段
  • 为存储过程增加了返回DataSet和DataReader的方法
生成实体类代码说明:

此版生成实体类非常方便,只需要配置一个文件,然后执行即可,打开《项目代码生成》目录,再打开 Winson.Framework_Build.cst 文件只需进行简单的配置就可以了,其实只要设置2个属性:

  • 设置你的项目名称:ProjectName
  • 设置生成的路径,这里只填写盘符就可以了:OutputDirectory
至于分页控件的数字页码样式,只需将
PagerStyle=numpager
即可!

Winson.Framework 1.5发布 [2007-08-24]:

这次的版本主要是对实体操作整个框架的更新:

1.0版是将所有实体操作方法写到一个类里,然后根据传进来的实体(或者表名)去产生相应的实体操作

1.5版便以面向接口编程为思想,更加接近OOD的思想了,呵呵,主要进行了以下的改进:

  • 使用了工厂模式,对实体操作类进行了更好的封装
  • 将所有实体用一个接口统一起来
  • 将实体操作方法用一个抽像类统一起来
  • 每个实体均有自己的方法操作类,这样就可以明确操作的对象,减少了装拆箱操作,使用时也不需要去为每个方法传递实体名参数了
  • 声明更加简单,所有实体操作对象可使用一个统一的抽像类进行声明
  • 完善了无限分类的DEMO(TypeOPFor15.aspx)
  • 修正了之前数据库不能附加到SQL2000的问题
  • 数据表的主键不需要指定名称(1.0时是必需要以表名+ID为名的)
新增功能:

新增了对缓存操作的一个类 Utility.CacheHelper

使用:
1.5版主要是修改了实体操作类,请使用“代码生成模板”目录下的“1.5版”目录里的模板文件生成相应的操作类:

生成实体操作基类.cst --> 生成 DAL.Base.BaseModelOP.cs
生成实体操作类.cst --> 生成 DAL下相应的实体操作类

使用“生成实体操作类.cst”生成实体操作方法时请注意2个参数的设置:
1、Index 表的索引值,从0开始,每次生成一个表的操作方法
2、PKName 表的主键名,每个表都必须要有主键名,否则方法执行过程中会报错哦

Winson.Framework 1.0发布 [2007-07-31]:

一、数据库类:
  • 本框架是基于ASP.NET2.0技术,同时可支持MSSQL和ACCESS数据库,只需在配置文件里修改一下即可马上使用不同的数据库,不需改其他任何代码。
  •  
  • 可设置是否对连接字符串进行加密,并可设置加解密KEY。
  •  
  • 可直接使用XML文件为实体
  • 可设置是否需要缓存,同时可设置缓存文件依赖存放的位置
  • 可支持多语言的数据库自定义错误信息,现在支持简体和繁体2种
  • 可设置是否启用错误日志记录
  • 可设置自动保存应用程序参数的时间间隔
  • 可设置是否显示系统异常信息,否则显示自定义异常信息
  • 通用的数据库底层操作,同时支持存储过程调用
  • 方便地操作读取自定义配置文件的信息
二、功能控件类:
  • 漂亮的自定义警告框,可为警告框设置相应的事件
  • 漂亮的自定义提示框,即类似MSN消息框的效果,可设置多种效果,也可以使用事件钩子调用
  • 强大的自定义分页控件,支持多种数据绑定控件,支持自定义分页按钮样式,支持AJAX无刷新分页,可灵活设置各种参数效果
  • 方便的Tab控件(取自Discuz!NT),即DNT论坛后台的那种选项卡的效果
  • 类帮助器,可以动态对类,类成员进行控制(添加,删除),目前只支持属性控制。
  • 可动态创建ul或者dl构成的列表
  • 通用的MessageBox类,可根据需要显示各种提示框
  • 支持URL重写,可自定义重写规则,同时还可以限制IP访问,需修改XML配置文件
  • Xml文件操作类库,基本上已可满足常用的XML操作需要
三、经常需要使用的一些验证逻辑与方法类:
     
  • 返回上一个页面的地址
  • 获取当前请求的原始 URL(URL 中域信息之后的部分,包括查询字符串(如果存在))
  • 获得当前完整Url地址
  • 过滤危险字符串
  • 替换html中的特殊字符
  • 恢复html中的特殊字符
  • 检查一个字符串是否可以转化为日期,一般用于验证用户输入日期的合法性
  • 检查一个字符串是否是纯数字构成的,一般用于查询字符串参数的有效性验证。
  • 检查一个字符串是否是纯字母和数字构成的,一般用于查询字符串参数的有效性验证。
  • 判断是否是数字,包括小数和整数。
  • 快速验证一个字符串是否符合指定的正则表达式。
  • 上传文件,不限制大小和类型并上传到默认UploadFile目录
  • 上传文件,不限制大小和类型并上传到自定义路径
  • 上传文件,可设置大小、类型和存放路径
  • 生成缩略图
  • 在图片上增加文字水印
  • 在图片上生成图片水印
四、实体操作类:
     
  • 利用泛型和集合,结合数据库实体进行操作以提高效率和封装性
  • 动态生成所需的SQL增、删、改、查等语句对实体进行操作
  • 上层操作可以不需要写SQL语句
  • 实体赋值方便,只需设置需要更新的某个字段即可,不需全部字段去赋值,同时读取实体时系统也会自动为每个字段赋值,不需再手工编写赋值代码
  • 由于本框架的实体类和实体操作类需特别处理,因此已提供了实体类和实体操作类的代码生成模板文件,使用Codesmith生成!
  • 另此DEMO附一个无限级分类的管理操作及相关的数据库