Part 2: 创建数据库 (SQL Server 2008 r2): For DBA
数据库方面我们需要的主要功能如下:
- 联系人有姓名和电子邮件地址.
- 联系人可以拥有多个地址.
- 联系人可以拥有多个电话.
为了实现目标,我们需要在数据库中创建下列表.
表与表的关系如下图所示:
数据库的脚本可以从这里直接下载:Application_DB.sql
本文链接:http://www.cnblogs.com/haogj/p/3127024.html,转载请注明。
Part 2: 创建数据库 (SQL Server 2008 r2): For DBA
数据库方面我们需要的主要功能如下:
为了实现目标,我们需要在数据库中创建下列表.
表与表的关系如下图所示:
数据库的脚本可以从这里直接下载:Application_DB.sql
本文链接:http://www.cnblogs.com/haogj/p/3127024.html,转载请注明。
原文地址:http://ddmvc4.codeplex.com/
原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockoutjs and Bootstrap
验证:
快要完成我们程序的界面部分了。剩下的事情就是在用户点击 “保存” 的时候管理验证问题了。验证是主要需求,今天就是最无知的应用也不会忽视它。通过正确的验证,用户可以知道应该输入什么数据。下面,我们将会讨论 KnockoutJS Validation 库,可以通过从这里下载。也可以直接通过 NuGet 获取,
先让我们看看常用的验证场景,以及如何使用。
这里有篇文章讨论 Knockout 扩展的原理:翻译:使用 Knockout 扩展器扩展 observables
Scenario 1: 表单中必须输入名字
this.FirstName = ko.observable().extend({ required: true });
Scenario 2: 名字最多包含 50 个字符,至少包含 3 个字符
this.FirstName = ko.observable().extend({ maxLength: 50, minLength:3});
Scenario
原文地址:http://knockoutjs.com/documentation/extenders.html
原文名称:Using extenders to augment observables
在值发生变化的时候,Knockout 的可观察对象提供了基本的功能来支持读/写,以及通知订阅者。在有些情况下,你可能希望能为可观察对象添加一些功能. 包括增加一些属性,或者通过为可观察对象增加写入的附加处理, Knockout 扩展器提供了一种简单并且灵活的途径,支持实现参数化的可观察对象。
如何创建一个扩展器
创建扩展器涉及到为 ko.extenders 对象添加一个函数,在这个函数被调用的时候,可观察对象将作为第一个参数,其它的选项被作为第二个参数。函数既可以返回可观察对象本身,也可以返回通过某种方式创建的新的可观察对象。
下面是一个简单的例子,logChange 扩展订阅了主题对象,提供了一个可配置的提示信息,在可观察对象发生变化的时候,在控制台输出这个提示信息和可观察对象的最新值。