03 2014 档案
摘要:对于一个很好的编辑器VS来说,它对于编程语句的自动提示功能是很强大的,有时,我们根本不需要看相关API,而直接看VS给我们的提示就可以完成一个新技术的学习了.今天我们来说几个CSS中的伪元素,它们在项目开发中用的并不多,但确实很有用,在项目中不用它,是因为大家不能了解它们,下面是一个工作场景,如有四个按钮,分别是建立,编辑,删除和修改,而我们要求这在前台显示的汉字是统一的,如果要改它们,就都要变的,如,我们希望把建立改为"新建",那么所有的建立都要改成新建,这代码量可是不小,当然,如果你这样写建立这改起来是挺麻烦的,而如果你使用伪元素呢?看下面代码:,而在页面上也会显示&q
阅读全文
摘要:回到目录在项目开发过程中,出现了一个问题,就是新添加一个非空字段后,原来的程序逻辑需要被重新修改,即将原来的字段添加到程序里,这种作法是非常不提倡的,所以,我通过T4模版将原来的实体类小作修改,解决了这个问题,即,在实体里为非空属性添加默认值,事实上,也就那种几种,如string默认为string.Empty,int,short,long默认都是0,而datetime默认为当前日期,这些我们可以在T4模块中完成看一下代码 public () { this. = ; this. = new HashSet>(); this. = new ()...
阅读全文
摘要:返回目录这个例子我做了几次,之前总是有BUG,目前测试后,确定没有BUG才发上来的,主要功能是实现“我的银行”模块的增删改的功能,这个里面包括了级联列表的区域选择,这部分是难点,在开发过程中,我们应该知道一个概念,在knockoutjs里,如果你的select被绑定了optionsValue属性,那么它将存储这个普通的字符,而如果你没有设置optionsValue,那么它存储的是JS对象。Html代码 银行开户名: 开户行所在城市: ...
阅读全文
摘要:返回目录对于下拉列表框的绑定在之前的knockoutjs文章中已经介绍过,今天主要说一下级联的select,事实上,在knockoutjs里,是以数据绑定为中心的,而数据是以面向对象为前提的,而对于级联绑定来说,它也是一种面向对象里关系对象的体现,有了关系对象,我们就可以把级联很容易的开发出来,而不用像之前JS那么麻烦了。准备数据对象 var Grade_Subject_R = function () { var self = this; self.Grades = [ { 'subjects': [{ 'id'...
阅读全文
摘要:回到目录对于一个聚合来说,它可能会被附加很多事件,这里我们叫它领域事务,因为一个聚会我们可以把它理解成一个领域,一个业务。对于领域事件不清楚的同学可以看看我的这篇文章《DDD~领域事件与事件总线》,里面有详细的说明,今天主要说一下领域里的事务,即领域事件的数据处理和主逻辑里的数据处理在同一事务里完成。知识准备SQL2005环境使用TransactionScopeNoMsdtc事务,它是占占开发的,原理是将一批操作包裹到一个SqlConnection里,由开发者维护接连的关闭,这也是使用时要特别注意的地方,因为如果不关闭连接,SQL链接池会益出。SQL2008环境使用微软自己的分布式事务实现Tr
阅读全文
摘要:返回目录本文章应该是knockoutjs系列的最后一篇了,前几篇中主要讲一些基础知识,这一讲主要是一个实际的例子,对于一个对象的添加与编辑功能的实现,并将项目源代码公开了,共大家一起学习!knockoutjs系列目录MVVM架构~Knockoutjs系列之text,value,attr,visible,with的数据绑定MVVM架构~Knockoutjs系列之对象与对象组合MVVM架构~Knockoutjs系列之js接收C#数据集合的方式MVVM架构~Knockoutjs系列之验证机制的引入MVVM架构~knockoutjs实现简单的购物车MVVM架构~knockoutjs与MVC配合,实现列
阅读全文
摘要:返回目录对于knockout.validation来说,我们已经知道了如何去验证大部分表单元素,而有时,我们的需求希望在每个元素验证成功后,去显示正确的提示,这个我们很容易的使用self.元素.isValid()方法来实现。下面给出相关的代码CSS代码JS代码HTML代码 添加商品 name 请输入用户名账号,它由字母汉字数字组成 price CategoryId ...
阅读全文
摘要:返回目录几乎每种验证架构都会有正则表达式的加盟,一般地,一种验证架构首先会提供一些标准的,常用的验证规则,它们通常是数字验证,电话验证,email验证,长度验证,范围验证,日期验证等,而如果使你的验证更强大,那一定要加入正则表达式!一般叫它:Regx下面我来说一下KnockoutJS里如何加入正则表达式调用方法: self.Property= ko.observable().extend({ required: true, pattern: { params:regex正则, message: "提示信息" } });下面举几个例子验证为整数,并且小数部分为2位 self.
阅读全文
摘要:win7无法进行局域网访问解决 公司里经常会使用网络共享的文件服务器,但是用win7的那伙计,在输入帐号和密码后却提示密码错误,试验了多次都是如此。 经过网上搜索文章及自己的研究最后发现这是由于win7新的安全机制引起的,只要修改win7的一个策略就可以解决这个问题。操作具体方法如下:在运行里面输入secpol.msc来启动本地安全设置,然后选择本地策略---安全选项---网络安全-LAN Manager 身份验证级别,你会发现win7默认的时候这里是不做配置的,那么只要把他选择成“发送LM&NTMLM响应-使用NTLMv2…¨"“就可以了。如果你是英文系统操作如下
阅读全文
摘要:起因对于从C#返回的日期字段,当进行JSON序列化后,在前台JS里显示的并不是真正的日期,这让我们感觉很不爽,我们不可能为了这东西,把所有日期字段都变成string吧,所以,找了一个JS的扩展方法,来实现这个功能实现function ChangeDateFormat(jsondate) { jsondate = jsondate.replace("/Date(", "").replace(")/", ""); if (jsondate.indexOf("+") > 0) { jsondat
阅读全文
摘要:返回目录说在前有时,我们在使用一个插件时,在网上即找不到它的相关API,这时,我们会很抓狂的,与其抓狂,还不如踏下心来,分析一下它的源码,事实上,对于JS这种开发语言来说,它开发的插件的使用方法都在它的源码里,只要你踏下心去看,一切就都有了!Knockout.Validation.js是为Knockout插件服务的,它可以为Knockout对象进行验证,就像你使用MVC模型验证一样,而这种绑定的验证方式对于开发人员来说是很容易接受的,也是一种趋势,它在验证过程中,会将出现异常的点记录下来,然后在某个时候将它抛出来,这个抛出的时刻通常是对象失去焦点时(blur)。总结Knockout.Valid
阅读全文
摘要:插件与系统命令对于很多JS弹框插件来说,都提供了alter,confirm等功能,如fancybox,Boxy等插件,今天来介绍一下如何将系统的alter和confirm替换成指定插件的alter和confirm,使用替换的方式的好处就是不用修改之前的代码,这在面向对象里,叫做“对修改关闭,对扩展开放”,也称为OCP原则,即开闭原则。fancybox替换系统命令,它需要有一个HTML容器来展现弹框下面是复写语句 window.alert = function (msg) { var reg = new RegExp("\\[([^\\[\\]]*?)\\]", 'i
阅读全文
摘要:面向对象的封装面向对象一个入最重要的特性就是“封装”,将一些没有必要公开的方法和属性以特定的方式进行组装,使它对外只公开一个接口,外界在调用它时,不需要关注它实现的细节,而只要关注它的方法签名即可,而对于JS来说,我们也可以利用面向对象的封装性来实现一个标准的消息提示框。JS模版使用JS模版可以大大提高开发效率,有了模版,你不用在去拼接JS串了,这对于开发者来说绝对是个福音!看它多少漂亮:标准消息弹出框的完整代码 function alertBox(msg, timer) { var reg = new RegExp("\\[([^\\[\\]]*?)\\]", '
阅读全文
摘要:返回目录MVC与MVVM的模型在MVC实例项目中,为我们提供了简单的增删改查功能,而这种功能的实现与具体的Model很有关系,或者说它与后台数据库的关系过于紧密了,而对于开发人员来说当页面布局修改后,也会现时修改它们的Model部分,而对于MVVM思想体系来说,它可以不去修改后台Model,而后采用了一种前台绑定的方式,很好的实现了前台模块与后台Model的解耦!实例代码本实例主要展现了一个简单的列表操作,包括了添加,删除和修改,在使用knockoutjs实现它之后,使它的用户体验提升了一个台阶,对于代码的分层有了一个新的升华!C#核心代码 public ActionResult Index.
阅读全文
浙公网安备 33010602011771号