代码改变世界

随笔分类 -  Web

十分钟内学会:自动识别GB2312与UTF-8编码的文件

2007-03-22 14:08 by Cat Chen, 6833 阅读, 收藏, 编辑
摘要: Question在简体中文系统中,我们有时候需要打开一个保存在磁盘上的纯文本文件,例如txt,但却不知道其保存编码,该怎么办呢?如果文本只需要在Windows上显示,那就很幸运了,因为无论是GB2312还是UTF-8编码的string都能够正确显示。但如果需要输出到ASP.NET页面上就不是那么简单了,因为如果页面编码为UTF-8但纯文本文件导入的string是GB2312,那就会导致乱码,反之亦... 阅读全文

你有 <table /> 强迫症吗?

2007-03-19 00:04 by Cat Chen, 12271 阅读, 收藏, 编辑
摘要: 上次讲到“欲练 CSS ,必先宫 IE”,如果你宫了IE然而还是觉得不得要领,那就该怀疑自己是不是有传说中的table强迫症了。在CSDN社区上,时不时能够看到一些页面整体布局的问题,要求用div做一些table才能做到的,否则就以此为把柄说XHTML+CSS布局方法不好。其实,首先要做的是改变思维,以适应XHTML+CSS的布局。面向页面设计而非面向浏览器设计XHTML+... 阅读全文

英语阅读推荐:在AJAX中制作自定义验证服务 & 优秀网站的5个因素

2007-03-16 20:08 by Cat Chen, 5436 阅读, 收藏, 编辑
摘要: 新一期的Random Clippings又来了,这次介绍的两篇文章都很容易读,单词不会太难,语法也简单。在AJAX中制作自定义验证服务 (Building a custom authentication service in AJAX)在这篇文章中我们将学会如何制作一个自定义的验证服务,用于ASP.NET AJAX。为什么需要制作自定义的验证服务呢,ASP.NET AJAX不是内置一个了吗?因为那... 阅读全文

学习 Ruby on Rails 真的很爽!

2007-02-24 10:42 by Cat Chen, 4762 阅读, 收藏, 编辑
摘要: 最近开始看《Agile Web Development with Rails 2nd Edition》,发觉感觉真的非常爽。虽然至今连Ruby语法都没完全懂,懂了的也没记住多少,但在看书过程中你会乐意模仿书中所有的例子,一个一个完成看看结果是怎样的,观察这个神奇的框架如何将你所书写的一点点代码转变为使用ASP.NET要不少代码才能实现的功能。我不知道它是怎么实现的,但暂时我还不觉得我有必要知道它是... 阅读全文

欲练 CSS ,必先宫 IE

2007-02-18 02:58 by Cat Chen, 20169 阅读, 收藏, 编辑
摘要: “Win国天下,欲练CSS之人不在少数,大多不得要领,又或是走火入魔,全为IE所累。故曰:欲练CSS,必先功IE。”曾经,我也属于为IE所累的行列,如今见到很多人仍然不愿意对自己的宝贝IE下手,所以决定特异写篇文章说说此事,以明辨IE到底是宝贝还是累赘。好了,funny部分结束,按回我的习惯直入正题。之所以说IE不好,是因为IE会误导了你对CSS模型的理解,让你以为IE的理... 阅读全文

IIS7 会重用那些不该重用 HttpHandler

2007-02-12 23:31 by Cat Chen, 10091 阅读, 收藏, 编辑
摘要: 首先,实现IHttpHandler时要实现一个IsReusable的属性,这个属性告诉ASP.NET此HttpHandler是否可重用。如果一个HttpHandler是可重用的,那么多次请求都有可能用同一个HttpHandler实例;而如果一个HttpHandler是不可重用的,那么ASP.NET应该确保每次请求使用的都是一个新构造的HttpHandler实例。Page是设计为不可重用,所以每次请... 阅读全文

英语阅读推荐:你真的懂UPDATE语句吗 & 当有layout之时

2007-02-08 22:44 by Cat Chen, 5681 阅读, 收藏, 编辑
摘要: Random Clippings栏目已经有一段时间没有更新了,主要是因为一直没能挑选到适合的文章推荐(有可能是因为这段时间我读英文文章少了,哈哈),这次一定要好好补上,推荐两篇好文章给大家。你真的懂UPDATE语句吗 (Think you know how to write UPDATE statement? Think again.)怎么又是Omar Al Zabir?别急别急,这家伙写的文章够... 阅读全文

十分钟内学会:将HTML格式化为合法的XML

2007-02-07 12:14 by Cat Chen, 9323 阅读, 收藏, 编辑
摘要: Question在网站中需要引入来自外部的HTML,这是很正常的事情。例如允许用户采用HTML直接发表时,或者聚合外部的Feed时,这时候外部的HTML就直接嵌入到我们的代码中。如果我们的网站是设计为符合XHTML的,那就可能因为引入外部HTML而破坏掉XHTML的合法性,甚至连合法的XML都做不到。这时候我们就需要将外部的HTML格式化为合法的XML,以方便我们的处理。Answer要将HTML转... 阅读全文

Microsoft AJAX Library + ADODB = ?

2007-02-05 23:30 by Cat Chen, 6399 阅读, 收藏, 编辑
摘要: 最近做了一个基于Web的纯桌面端数据库应用,非常轻量级的,在挑选库的时候最后还是选择了自己熟悉的Microsoft AJAX Library,而没有使用prototype、dojo、YUI之类的。一方面,是因为Microsoft AJAX Library比较贴近我熟悉的控件模型,另一方面要做的东西真的轻量级得只需要普通的控件,不需要拖放和效果,不需要封装新控件或widget。过程整个制作流程大概是... 阅读全文

ASP.NET 无法确保在注册的 JavaScript 内不存在重复定义

2007-01-28 00:13 by Cat Chen, 7018 阅读, 收藏, 编辑
摘要: 在ASP.NET 2.0中,我们使用Page.ClientScript属性(也就是一个ClientScriptManager对象)的一些名字以Register开头的方法注册客户端脚本,这是大家都知道的。理论上应该如何避免冲突先说说为什么要这样注册脚本,而不用Response.Write直接输出。举个例子,你用3个DropDownList做了一个输入日期的区域,分别代表年/月/日,然后你为了防止用户... 阅读全文

英语阅读推荐:使用AJAX+WF+LINQ制作Google IG式首页

2007-01-16 01:28 by Cat Chen, 8451 阅读, 收藏, 编辑
摘要: 如果你既想学习ASP.NET AJAX,又想学习Windows Workflow Foundation,还想学习LINQ(包括DLinq和XLinq),能够一次过满足你三个愿望的除了Kinder出奇蛋就是本期Random Clipping重点推荐的这篇文章了。Build Google IG like Ajax Start Page in 7 days using ASP.NET Ajax and ... 阅读全文

英语阅读推荐:基于AJAX的ASP.NET聊天室 & 如何建立共识

2007-01-03 22:41 by Cat Chen, 9929 阅读, 收藏, 编辑
摘要:  基于AJAX的ASP.NET聊天室 (Building an AJAX based chat room in ASP.NET)这是一篇从技术角度来说非常入门级的文章,别看到标题又是AJAX又是chat room,就以为用到了Atlas和HttpHandler之类复杂的东西,实际上它仅仅使用了XMLHttpRequest和Page。这就降低了读者所需要跨越的技术门槛,即使你平常只是使用P... 阅读全文

十分钟内学会:根据数据库生成站点导航

2006-12-29 22:28 by Cat Chen, 8132 阅读, 收藏, 编辑
摘要: Question上次的《十分钟内学会:存储在二维表的树结构如何进行指定深度节点的查询》提到用树结构表示无限分级的商品分类或论坛板块,也就是说这种树结构常常用于存储与导航相关的信息,该如何让网站导航自动按照数据库中存储的树结构自动生成呢?Answer继承自SiteMapProvider要实现站点导航,在ASP.NET 2.0中最方便的就是SiteMap功能了。如果仅仅使用XmlSiteMapProv... 阅读全文

英语阅读推荐:美化文件上传框 & 无刷新文件上传

2006-12-23 01:09 by Cat Chen, 9934 阅读, 收藏, 编辑
摘要: 相信很多使用过GMail的读者都会觉得它的文件上传功能作得好,首先它支持无刷新上传,其次它能够隐去丑陋的文件上传框。本期的Random Clipping重点推荐两篇与上传有关的英语技术文章,希望对大家制作一个GMail那样的上传界面有所帮助。美化文件上传框 (Styling an input type="file")"Of all form fields, the file upload fiel... 阅读全文

Microsoft WPF/E vs Adobe Apollo

2006-12-17 18:53 by Cat Chen, 6994 阅读, 收藏, 编辑
摘要: 整个.NET社区都在庆祝WPF/E开始CTP,且慢,看看河对面的Flash社区好像也在举行隆重的庆典哦。AVM2开放源代码这几个星期发生在Flash社区的震撼事件,包括Adobe将ActionScript Virtual Machine 2(AVM2)的核心源代码捐献给Mozilla组织,变成了一个叫做Tamarin的开源项目。Tamarin的目标是实现一个高效的ECMAScript 4th ed... 阅读全文

十分钟内学会:让你的博客文章也有机会成上Digg头版

2006-12-16 22:42 by Cat Chen, 5289 阅读, 收藏, 编辑
摘要: 是否非常羡慕别人的文章有机会冲上Digg头版,接着带来大量的访客呢?是否也希望自己的文章也能受到链接的宠爱,从而获得更高的PageRank呢?好,跟我来,让我帮你把文章接入到Social Software中。 首先,你知道Social Software是什么吗?从广义上来说,就是能够让人们联系或聚集到一起的软件,老式的邮件列表或者新闻组也算是,然而通常我们用它指现代的blog和wiki平台。我们正... 阅读全文

英语阅读推荐:海明威写作技巧 & UpdatePanel为何失灵

2006-12-15 01:25 by Cat Chen, 4635 阅读, 收藏, 编辑
摘要: Random Clippings作为一个英语阅读推荐栏目,目标是让大家多读好文章,从而提高自己的英语阅读水平,不过却不一定要限制在英文技术文章内吧,所以我这次尝试推荐点别的东西。海明威写作技巧 (Ernest Hemingway’s Top 5 Tips for Writing Well)这篇文章来自copyblogger,这是一个有趣的博客,它的理念是好像写广告文案(copywrit... 阅读全文

十分钟内学会:无刷新的页面间导航

2006-12-10 14:18 by Cat Chen, 7443 阅读, 收藏, 编辑
摘要: Question 通过ASP.NET AJAX,我们能够实现页面内无刷新的异步回送。然而我们不可能将功能都放在一个页面里,这样设计非常不方便,动态加载控件的逻辑也复杂,所以还是要在多个页面间导航。可以让这种页面间的导航也无刷新吗? Answer 要页面间导航当然要刷新,这是无法避免的,但我们总不能把原本属于多个页面的逻辑塞在一个页面里吧,所以要想个办法把这些逻辑分开来。这里用到一个小技巧,就是使用... 阅读全文

深入理解 ASP.NET 与客户端缓存 (Part 2 - ASP.NET 支持)

2006-12-07 02:09 by Cat Chen, 7203 阅读, 收藏, 编辑
摘要: 在上一篇中,我们知道了HTTP属性与客户端缓存的关系,现在就可以着手用ASP.NET来控制这种缓存。需要注意的是,ASP.NET的Cache是用于服务器端缓存的,所以和我们正在讨论的事情完全无关,我们在这里要讨论的是如何通过HTTP属性控制客户端缓存。页面缓存在ASP.NET中,如果你需要添加HTTP属性,可以使用HttpResponse.AppendHeader方法,例如在Page的代码中直接执... 阅读全文

深入理解 ASP.NET 与客户端缓存 (Part 1 - HTTP 协议)

2006-12-06 21:45 by Cat Chen, 5856 阅读, 收藏, 编辑
摘要: 前言这个系列的文章要讨论的是如何通过ASP.NET服务器端技术来优化客户端缓存策略,而且让这种策略变得可配置和可扩展。我们要了解的知识从HTTP协议中相关属性对客户端缓存的影响,到ASP.NET如何控制这些属性来实现我们的缓存策略。HTTP基础知识由于讨论涉及到客户端缓存,所以还是先要简单介绍一下HTTP协议是如何控制客户端缓存的,这里涉及到HTTP头的Last-Modified、ETag等属性。... 阅读全文