摘要: 关于knockout学习系列的文章已经写完,这里主要是做个总结,并且将目录罗列出来,方便查看。欢迎各位大神拍砖和讨论。总结 kncokout是一个轻量级的UI类库,通过MVVM模式使前端的UI简单话,减少javascript代码的编写。通常说到javascript类库,首先都会想到jquery... 阅读全文
posted @ 2015-09-28 14:25 我是攻城狮 阅读(1413) 评论(1) 推荐(0) 编辑
摘要: 前面已经介绍了ko的基本用法,结合官方文档,基本就可以实际应用了。本章作为ko学习的最后一篇,实现一个简单的demo。主要集中在ko,所以后台数据都是静态的。类似于博园,有一个个人文章的分类列表,一个文章列表。可以在文章最后下载工程源代码(包括之前demo的代码)。实现效果图如下:一、准备数据 ... 阅读全文
posted @ 2015-09-28 11:43 我是攻城狮 阅读(976) 评论(0) 推荐(0) 编辑
摘要: 一、问题引出 通常,我们先定义好html结构或者模板,通过ajax向后台发起请求,后台返回json数据,然后再将json数据渲染到页面上。以博客园个人博客里的个人信息为例子,如图: 1.定义html。 姓名: 园龄: 粉丝: 关注: 2.定义ViewModel,其中的数... 阅读全文
posted @ 2015-09-25 16:12 我是攻城狮 阅读(1125) 评论(0) 推荐(0) 编辑
摘要: 前面的绑定都是用在基本标签上,这章主要讲表单域标签的绑定。一、value 绑定 绑定标签:input text、textarea。 用户名: 密码: function UserInfo(){ var self = this; self.name =... 阅读全文
posted @ 2015-09-25 09:07 我是攻城狮 阅读(1536) 评论(0) 推荐(0) 编辑
摘要: 所谓绑定上下文就是当前绑定(dat-bind)所使用到的对象(ViewModel)。在单个对象绑定的情况下是很容易理解的,但对象可能是复杂的类型,嵌套很多层,这个时候每层都有自己的上下文对象,理解起来就不是很方便了。ko通过上下文关键字,让层次间的关系变得更加清晰,相互访问变得更加简单。一、$d... 阅读全文
posted @ 2015-09-24 15:28 我是攻城狮 阅读(2179) 评论(1) 推荐(1) 编辑
摘要: 前面已经介绍了基本的绑定和模板相关知识,接下来就看ko里的数组和模板绑定,数组和模板绑定应该是实际项目中用得比较多的,ko提供了很好的支持。一、observaleArray 前面的监控属性都是单个对象,用的是ko.observable;有时候后台返回的是一个列表,也就是数组,这个时候就需要用监... 阅读全文
posted @ 2015-09-23 09:55 我是攻城狮 阅读(2726) 评论(0) 推荐(0) 编辑
摘要: 测试数据: function Person(name,age){ var self = this; self.name = ko.observable(name); self.age = ko.observable(age); self.... 阅读全文
posted @ 2015-09-22 16:51 我是攻城狮 阅读(1683) 评论(2) 推荐(1) 编辑
摘要: 一、语法介绍 先来看一个简单的例子: var obj = {name:ko.observable("tom")} ko.applyBindings(obj); 这样会自动完成绑定。其中有3个特别的地方:1. data-bind。2.ko.observable 方法。 3.ko.apply... 阅读全文
posted @ 2015-09-22 09:32 我是攻城狮 阅读(2273) 评论(2) 推荐(2) 编辑
摘要: 通常来说,前端的维护难度是比较大的,特别是脚本,虽然像jquery这样的库可以帮助我们减少很多代码,但在稍微复杂的情况下,还是会产生有很多代码。上一篇介绍了模板引擎jsRender,它可以帮我们快速生成html,减少代码的编写,增强代码的可阅读性和可维护性。但最后也说到,它还是不够强大。一、mv... 阅读全文
posted @ 2015-09-21 15:13 我是攻城狮 阅读(1422) 评论(0) 推荐(0) 编辑
摘要: 上一篇最后提到了模板,并尝试自己编写一个最简单版本;有些朋友可能用过 jqtmpl,这是一个基于jquery的模板引擎,不过它已经不再更新了,而且据说渲染速度比较慢。这里介绍另外一个模板引擎:jsRender。个人觉得这些东西学习起来还是很简单的,挑一个看看就行,实际要用到了哪个,官网看看dem... 阅读全文
posted @ 2015-09-21 09:03 我是攻城狮 阅读(2277) 评论(6) 推荐(2) 编辑
摘要: 快下班了,抽点时间总结一下sql 的 case 用法。 sql 里的case的作用: 用于计算条件列表的表达式,并返回可能的结果之一。sql 的case 类型于编程语言里的 if-esle if-else 或者 switch,但它不用于控制sql程序的执行流程,而是作为列的逻辑使用。 语法:... 阅读全文
posted @ 2015-09-18 17:57 我是攻城狮 阅读(30733) 评论(1) 推荐(0) 编辑
摘要: 开篇 关于knockout的文章,园里已经有很多大神写过了,而且都写得很好。其实knockout学习起来还是很容易的,看看官网的demo和园里的文章,练习练习就可以上手了(仅限使用,不包含研究源码)。之所以想写这个系列,主要是想记录自己的学习和应用过程,也希望能给初学者一点帮助。 既然是学习过程... 阅读全文
posted @ 2015-09-18 09:03 我是攻城狮 阅读(2309) 评论(0) 推荐(2) 编辑
摘要: 一、前言 相信许多人都百度过:“.net 数据库访问类”。然后就出来一大堆SqlHelper。我也用过这些SqlHelper,也自己写过,一堆静态方法,开始使用起来感觉很不错,它们也确实在很多时候可以很好的工作。ADO.NET已经封装很好了,我们很容易就可以实现自己的数据库访问类。 很久前,忘记... 阅读全文
posted @ 2015-09-10 11:20 我是攻城狮 阅读(9621) 评论(43) 推荐(28) 编辑
摘要: 一、需求 我们经常会遇到【站内搜索】的需求,为了提高用户体验,我们希望能做到像百度那样的即时智能提示。例如:某公司人事管理系统,想搜索李XX,只要输入“李”,系统自然会提示一些姓李的员工,这样方便用户使用。说白了,就是用户边输入,系统会提示相关的结果;或者,当用户点击搜索框时,就推荐一些内容,如3... 阅读全文
posted @ 2015-09-09 09:07 我是攻城狮 阅读(1744) 评论(1) 推荐(3) 编辑
摘要: 一、需求 之前sql server 的排名函数用得最多的应该是RoW_NUMBER()了,我通常用ROW_NUMBER() + CTE 来实现分页;今天逛园,看到另一个内置排名函数还不错,自己顺便想了一个需求,大家可以花1分钟先想想要怎么实现。 需求很简单:求成绩排名前五的学生信息。 例如: ... 阅读全文
posted @ 2015-09-05 19:08 我是攻城狮 阅读(5888) 评论(0) 推荐(0) 编辑
摘要: 前言 工作一年了,平时也喜欢看看书,逛逛园子;但说到写博,还真的没有,说到底,只有一个字:懒!现在想改掉这个“毛病”了,希望多把平时工作学习到的知识和遇到的问题记录下来,一是可以梳理自己的思路,加深理解;二是可以向更多的朋友学习和分享;三是可以锻炼自己的写作水平;可谓百利而无一害! 平时偶尔会遇... 阅读全文
posted @ 2015-09-04 22:29 我是攻城狮 阅读(2393) 评论(2) 推荐(3) 编辑
摘要: 一、发现前端渣哥逛博客园,经常看到博文评论有这种如下这种效果:开始还以为是用图片实现的,额...。像博客园这种访问量大的网站,能用js/css实现的就不会用图片代替,果然,仔细一看,两个span就能实现这个效果了。二、实现看到不会或者不清楚的,总想探个究竟,并把知识变成自己的。接下来就花点时间,实现... 阅读全文
posted @ 2015-09-02 15:29 我是攻城狮 阅读(1023) 评论(9) 推荐(2) 编辑
摘要: 前台分页控件有很多,这里分享我的分页控件 pagination.js 1.0版本,该控件基于jquery。先来看一下预览效果:效果一:效果二:效果三:默认情况下,点击页码会像博客园一样,在url后面加上"#p页码"。控件有2个参数需要注意:1. beforeRender: 在每个页码项呈现前会被调用... 阅读全文
posted @ 2015-08-26 22:52 我是攻城狮 阅读(1189) 评论(1) 推荐(3) 编辑
摘要: 问题引出:在实际中遇到一个问题,要进行集合去重,集合内存储的是引用类型,需要根据id进行去重。这个时候linq 的distinct 就不够用了,对于引用类型,它直接比较地址。测试数据如下: class Person { public int ID { get; set; }... 阅读全文
posted @ 2015-08-26 09:44 我是攻城狮 阅读(1343) 评论(4) 推荐(1) 编辑
摘要: 博客园有许多关于nolock的文章,大部分都写得很好,例如:http://www.cnblogs.com/huangxincheng/p/4292320.html这里仅结合个人项目,作为个人笔记记录。nolock 的使用方法如:select * from table1 with(nolock)wit... 阅读全文
posted @ 2015-08-25 23:47 我是攻城狮 阅读(1382) 评论(0) 推荐(0) 编辑