最近在做一个需要文本编辑器的项目,我不知道怎么会那么多人喜欢富文本编辑器,而且功能越接近Word越喜欢,我却超喜欢WordPress的quicktags,以前读书的时候从里面剥离了出来,昨天翻了出来整理了下拿出来分享。
下载地址 quicktags.7z(25.3KB)
ASP.NET MVC 1.0 的数据模型验证
ASP.NET MVC 1.0 的数据模型验证
很多同学喜欢将数据的验证放在控制层(Controller)里,这是非常不对的,违背MVC的初衷,对于模型数据的验证,当然是放在模型层里才恰当。也不需要专程写一个方法在SubmitChanges之前主动去调用,实际上SubmitChanges的时候会调用OnValidate方法,该方法失败后会抛出一个Application的异常。在Controller层里捕捉这个异常再做相应的处理就行了。如此一来更省事,分工更明确,代码更优雅。
以下是一段示例代码,来自ASP.NET MVC Step by Step的例子NerdDinner(删减部分字段)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
using System; using System.Collections.Generic; using System.Linq; using System.Data.Linq; using System.Web.Mvc; using NerdDinner.Helpers; namespace NerdDinner.Models { [Bind(Include="Title")] public partial class Dinner { public bool IsValid { get { return (GetRuleViolations().Count() == 0); } } public IEnumerable<ruleViolation> GetRuleViolations() { if (String.IsNullOrEmpty(Title)) yield return new RuleViolation("Title is required", "Title"); yield break; } partial void OnValidate(ChangeAction action) { if (!IsValid) throw new ApplicationException("Rule violations prevent saving"); } } } |
树叶都掉光啦
Microsoft Visual Studio 2010
发现Microsoft Visual Studio 2010有离线包了,比在线安装包瘦身了不小,整个Express版本只有736M,当然一些不常用的功能自然被砍掉了,但相对于这个与龟速相当,鸽子速度都不如的网速来说,下载离线包来安装比在线装感觉好。因为安装包小,加上界面清新的缘故,给人一种很轻松的感觉,不像以往那般笨重。再加上可以分模块安装,比一下子塞一大堆不用的东西到电脑里让人心安。之前看到那几个G的在线安装文件,吓得我都不敢安装,经过这么试用了一番后,我还是比较期待VS2010的。
ASP.NET MVC 学习建议
除了基本的C#或者VB.NET语言语法学习外,学习ASP.NET MVC我的建议首先是看的三本书,当然还有其它好书我不知道的,如果你有也可以建议给我。
ASP.NET MVC Step by Step
ASP.NET MVC 1.0 Quickly
ASP.NET MVC in Action
其中第一本(ASP.NET MVC Step by Step)已经有中文的翻译版,这本书一定要认真看,跟着作者的步伐做一样样例,内容不是很多,但是很重要,看完了就大致明白ASP.NET MVC是怎么工作的,以及开发过程中应该怎么做。第二本书(ASP.NET MVC 1.0 Quickly)目录列的很详细,但是实际不然,很多东西都忽略了,只有草草的几句话,但是,作者告诉你了有什么东西,需要进一步了解就再自己查资料吧。第三本书(ASP.NET MVC in Action)略比第二本好些,大致浏览一下吧,总有前面忽略掉的东西,自己再啃一遍。学习一样东西我不建议一下子就看很厚很厚的书,学习总需要一个循序渐进的过程,要慢慢一点一点的啃,一下子全学会是不大可能的,随着学习的深入,便会逐渐完全掌握的。
除了看书以外,当然还有看博客查资料等等,我这里建议看The Will Will Web,大牛分享了很多开发上需要把握的宝贵经验。需要更深层次的学习,那就看ASP.NET MVC 1.0的源代码吧。