摘要: 《回到系列目录本篇将涉及到ExtJs中一个重要的概念,模板。话说Razor很神奇,但是我个人不是很喜欢那种html混编C#的方式,仿佛又回到了asp的时代。ExtJs的模板同样也可以组织生成灵活的html,而且代码和html有效的分离。本文将细细分析ExtJs模板的用法。行文之前我先把公共的html和用到的js数据贴在前面,后面的代码都要引用到。[html] <h1>使用标签tpl和操作符for</h1> <div class="content" id="div1"></div> <h1>在子模 阅读全文
posted @ 2011-12-12 07:40 lipan 阅读(40506) 评论(12) 推荐(13) 编辑
摘要: 《回到系列目录本篇主要介绍一下ExtJs常用的几个对JS语法的扩展支持,包括Ajax封装,函数事件操作封装,还有扩展的常用函数等。Ajax服务端交互式操作是提交到.NET MVC。后续服务端交互都采用这一方式实现。一、ExtJs中的Ajax:Ext.Ajax.request通过客户端向服务端发送Ajax请求,可以“直接”调用MVC的action方法,并传递参数,action返回值可以是普通字符串,也可以是json对象。请求可以添加自定义头信息。看下面例子:1.异步请求,发送自定义请求头:html页面如下:[html]<h1>Ajax服务端请求</h1><div c 阅读全文
posted @ 2011-12-09 00:31 lipan 阅读(58309) 评论(2) 推荐(8) 编辑
摘要: 《回到系列目录本篇主要介绍一下ExtJs对JS基本语法的扩展支持,包括动态加载、类的封装等。一、动态引用加载ExtJs有庞大的类型库,很多类可能在当前的页面根本不会用到,我们可以引入动态加载的概念来即用即取。这些代码都要写在Ext.onReady外面。1.动态引用外部Js[Js]//加载配置可用Ext.Loader.setConfig({ enabled: true });//动态引用“../ux/”目录下所有Js文件类,映射到对应命名空间Ext.Loader.setPath('Ext.ux', '../ux/');2.动态加载类[Js]//加载单个类Ext.r 阅读全文
posted @ 2011-12-08 00:26 lipan 阅读(18059) 评论(11) 推荐(6) 编辑
摘要: 《回到系列目录现在主流的JS框架要数ExtJs和JQuery应用的比较广泛。JQuery属于轻量级的,一般做网站应用比较常见,可见块头小的优势。ExtJs比较庞大,它除了对基本的JS语法和HTML DOM操作方式的封装之外,还提供了一套强大的UI库。在企业级B/S解决方案应用上独占优势。就单说它在原生JS的封装,DOM操作方式封装方面也足以藐视JQuery。下面我就通过对比API,体现两种框架的异曲同工之处。我们已JQuery API为主线,来看看ExtJs是否有替代的方案。注意一点:ExtJs4.0相对上一版本改动较大,本系列文章暂时只对ExtJs4.0及以上版本提供支持。一、选择器1.上下 阅读全文
posted @ 2011-12-07 00:22 lipan 阅读(30867) 评论(22) 推荐(17) 编辑
摘要: 最近在公司项目中用MVC内置的权限过滤器实现权限控制功能,查阅以前的代码发现权限过滤接口已经被实现在其他地方,作用是用户访问系统任何页面时都要判断是否登录,如果没有登录,就会自动读取本机的域账号信息,并自动完成登录动作。现在遇到的问题是,如果新加的权限验证功能基于权限过滤器,就必须考虑过滤器的执行先后顺序,由于权限验证基于用户信息,所以我要保证用户自动登录的过滤器在权限过滤器之前被执行,但是MVC的权限过滤器默认是优先级最高的,我又不想让非权限验证的功能丢在权限过滤器中执行,又想要这个过滤器执行优先级一定高于权限过滤器,怎么办呢?看来只有通过扩展MVC内置过滤器的方式实现了。一、初步计划 .. 阅读全文
posted @ 2011-04-27 07:31 lipan 阅读(7212) 评论(18) 推荐(6) 编辑
摘要: MongoDB中的索引其实类似于关系型数据库,都是为了提高查询和排序的效率的,并且实现原理也基本一致。由于集合中的键(字段)可以是普通数据类型,也可以是子文档。MongoDB可以在各种类型的键上创建索引。下面分别讲解各种类型的索引的创建,查询,以及索引的维护等。系列目录 MongoDB学习笔记(一) MongoDB介绍及安装 MongoDB学习笔记(二) 通过samus驱动实现基本数据操作 MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据 MongoDB学习笔记(四) 用MongoDB的文档结构描述数据关系 MongoDB学习笔记(五) MongoDB.. 阅读全文
posted @ 2011-03-28 07:42 lipan 阅读(46705) 评论(18) 推荐(11) 编辑
摘要: 由于MongoDB的文档结构为BJSON格式(BJSON全称:Binary JSON),而BJSON格式本身就支持保存二进制格式的数据,因此可以把文件的二进制格式的数据直接保存到MongoDB的文档结构中。但是由于一个BJSON的最大长度不能超过4M,所以限制了单个文档中能存入的最大文件不能超过4M。为了提供对大容量文件存取的支持,samus驱动提供了“GridFS”方式来支持,“GridFS”方式文件操作需要引入新的程序集“MongoDB.GridFS.dll”。下面我们分别用两种方式来实现。系列目录 MongoDB学习笔记(一) MongoDB介绍及安装 MongoDB学习笔记(二) .. 阅读全文
posted @ 2011-03-21 07:33 lipan 阅读(89791) 评论(11) 推荐(10) 编辑
摘要: MongoDB的集合(collection)可以看做关系型数据库的表,文档对象(document)可以看做关系型数据库的一条记录。但两者并不完全对等。表的结构是固定的,MongoDB集合并没有这个约束;另外,存入集合的文档对象甚至可以嵌入子文档,或者“子集合”。他们最终都可以用类似于BJSON的格式描述。我们今天就来分析MongoDB这一特性带来的独特数据管理方式。我们还是以samus驱动为例来分析,samus驱动支持两种方式访问数据库,基本方式和linq方式,基本方式在上篇以介绍过,linq方式我不想单独讲解应用实例,这篇我会用两种方式来对比介绍。系列目录 MongoDB学习笔记(一) .. 阅读全文
posted @ 2011-03-17 07:53 lipan 阅读(37956) 评论(11) 推荐(5) 编辑
摘要: 看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作。表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关系型的数据库MongoDB。nosql虽然概念新颖,但是MongoDB基本应用实现起来还是比较轻松的,甚至代码比基本的ADO.net访问关系数据源还要简洁。由于其本身的“非关系”的数据存储方式,使得对象关系映射这个环节对于MongoDB来讲显得毫无意义,因此我们也不会对MongoDB引入所谓的“ORM”框架。 下面我们将逐步讲解怎么在MVC模式下将MongoDB数据读取,并展示在前台Jqgrid表格上。这个“简易系统”的基本设计思想是这样的:... 阅读全文
posted @ 2011-03-11 00:36 lipan 阅读(46249) 评论(31) 推荐(23) 编辑
摘要: 传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。系列目录 MongoDB学习笔记(一) MongoDB介绍及安装 MongoDB学习笔记(二) 通过samus驱动实现基本数据操作 MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据 MongoDB学习笔记(四) 用MongoDB的文档结构描述数据.. 阅读全文
posted @ 2011-03-08 22:53 lipan 阅读(74272) 评论(38) 推荐(15) 编辑