一、首先是初醒,这就像一个刚睡醒的人,身体正处于萌动状态。这个阶段使用正常听音强度三分之一的音量驱动耳机12小时(用100~1500Hz/5s扫频信号更好)。简单的说,就是低频的大幅度下潜以及高频的高速震动都是一个新耳机所不能接受的。
推荐曲目:这里最好不要用,低频过于丰富的曲子,比如鼓类,浓厚的电子乐等,也不要用高音过于嘹亮的曲子如,醉笛等。这里推荐:vivaldi,<四季>第二乐章-夏。<魔鬼颤音>等,流行的话,上一些舒缓的歌曲,比如蔡琴大姐的-,-b
二、其次是活络,这个阶段用正常听音强度三分之二的音量驱动耳机12小时(用50~1800Hz/3s扫频信号更好)。也就是说,可以找一些,低频,高频,更多的曲子。不过音量还是要控制好。
推荐曲目:sarasate,流浪者之歌,卡门幻想曲国庆序曲,十面埋伏等(这里选择很多,动态感好的交响乐为首选)
三、运动,这各阶段用正常听音强度驱动耳机72小时(用20~20000Hz/2s扫频信号更好),你可以更随意得用各种各样频响范围更广的音乐来褒。
推荐曲目:不做特别推荐-,-#,什么都可以,不过,音量不要过高。
四、磨练,顾名思义,这阶段要上大强度了使用正常听音强度三分之四的音量驱动耳机24小时(用18~2200Hz/1s扫频信号更好)
当经历了这个阶段后的,你的耳机就变得异常坚毅,可以非常从容的面对你平时的听歌需要。
总结、最后说一句,,褒耳机可以使你的耳机达到最好的状态有时候会让你有脱胎换骨的感觉,不过褒耳机更多的只是让你的耳机达到最佳状态,并不会彻底改变其品质。所以知足者常乐,爱惜自己的耳机吧
四季>魔鬼颤音>
推荐曲目:这里最好不要用,低频过于丰富的曲子,比如鼓类,浓厚的电子乐等,也不要用高音过于嘹亮的曲子如,醉笛等。这里推荐:vivaldi,<四季>第二乐章-夏。<魔鬼颤音>等,流行的话,上一些舒缓的歌曲,比如蔡琴大姐的-,-b
二、其次是活络,这个阶段用正常听音强度三分之二的音量驱动耳机12小时(用50~1800Hz/3s扫频信号更好)。也就是说,可以找一些,低频,高频,更多的曲子。不过音量还是要控制好。
推荐曲目:sarasate,流浪者之歌,卡门幻想曲国庆序曲,十面埋伏等(这里选择很多,动态感好的交响乐为首选)
三、运动,这各阶段用正常听音强度驱动耳机72小时(用20~20000Hz/2s扫频信号更好),你可以更随意得用各种各样频响范围更广的音乐来褒。
推荐曲目:不做特别推荐-,-#,什么都可以,不过,音量不要过高。
四、磨练,顾名思义,这阶段要上大强度了使用正常听音强度三分之四的音量驱动耳机24小时(用18~2200Hz/1s扫频信号更好)
当经历了这个阶段后的,你的耳机就变得异常坚毅,可以非常从容的面对你平时的听歌需要。
总结、最后说一句,,褒耳机可以使你的耳机达到最好的状态有时候会让你有脱胎换骨的感觉,不过褒耳机更多的只是让你的耳机达到最佳状态,并不会彻底改变其品质。所以知足者常乐,爱惜自己的耳机吧
四季>魔鬼颤音>
Adobe Flash Player 10 将拥有更多3D和GPU加速特性
Adobe之前刚刚发布过一个Beta版本的Flash Player 10版本,开发代号“Astro”.
这一新的播放器内置了3D效果,并对显示卡加速做了优化,支持更大的位图(8191像素)显示,并提供了对高音质Speex音频编码的支持.当然多种新特性的加入让FlashPlayer播放器的容量达到了前所未有的5.5MB.
下载地址:http://labs.adobe.com/downloads/flashplayer10.html
Adobe之前刚刚发布过一个Beta版本的Flash Player 10版本,开发代号“Astro”.
这一新的播放器内置了3D效果,并对显示卡加速做了优化,支持更大的位图(8191像素)显示,并提供了对高音质Speex音频编码的支持.当然多种新特性的加入让FlashPlayer播放器的容量达到了前所未有的5.5MB.
下载地址:http://labs.adobe.com/downloads/flashplayer10.html
HTTP基础知识
由于讨论涉及到客户端缓存,所以还是先要简单介绍一下HTTP协议是如何控制客户端缓存的,这里涉及到HTTP头的Last-Modified、ETag等属性。
Last-Modified
在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记此文件在服务期端最后被修改的时间,格式类似这样:
Last-Modified: Fri, 12 May 2006 18:53:33 GMT
客户端第二次请求此URL时,会在头部加入一个属性,询问该时间之后文件是否有被修改过:
If-Modified-Since: Fri, 12 May 2006 18:53:33 GMT
如果服务器端的文件没有被修改过,则返回状态是304,内容为空,这样就节省了传输数据量。如果服务器端的文件被修改过,则返回和第一次请求时类似。
ETag
和Last-Modified类似,由于RFC2616(也就是HTTP/1.1)中没有说明ETag该是什么格式的,只要确保用双引号括起来就行了,所以你可以用文件的hash,甚至是直接用Last-Modified,以下是服务器端返回的格式:
ETag: "50b1c1d4f775c61:df3"
客户端的查询更新格式是这样的:
If-None-Match: W/"50b1c1d4f775c61:df3"
如果ETag没改变,则返回状态304然后不返回,这也和Last-Modified一样。
Expires
这个属性就如我们在ASP中使用HttpResponse.ExpiresAbsolute一样直接,声明某某时刻过期之后浏览器就应该重新请求该URL,使用格式为:
Expires: Sun, 10 Feb 2002 16:00:00 GMT
注意HttpResponse.ExpiresAbsolute在ASP.NET中是不建议使用的,现在我们应该使用的是HttpResponse.Cache.SetExpires。
Pragma
通常我们用到的值就是no-cache,这和在Cache-Control中使用no-cache值是一样的,Cache-Control在下面讲。Pragma的使用格式如下:
Pragma: no-cache
Cache-Control
这是一个集合型属性,它里面能够包含很多子属性,并且允许用户扩展新的子属性。常见的子属性包括:
由于讨论涉及到客户端缓存,所以还是先要简单介绍一下HTTP协议是如何控制客户端缓存的,这里涉及到HTTP头的Last-Modified、ETag等属性。
Last-Modified
在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记此文件在服务期端最后被修改的时间,格式类似这样:
Last-Modified: Fri, 12 May 2006 18:53:33 GMT
客户端第二次请求此URL时,会在头部加入一个属性,询问该时间之后文件是否有被修改过:
If-Modified-Since: Fri, 12 May 2006 18:53:33 GMT
如果服务器端的文件没有被修改过,则返回状态是304,内容为空,这样就节省了传输数据量。如果服务器端的文件被修改过,则返回和第一次请求时类似。
ETag
和Last-Modified类似,由于RFC2616(也就是HTTP/1.1)中没有说明ETag该是什么格式的,只要确保用双引号括起来就行了,所以你可以用文件的hash,甚至是直接用Last-Modified,以下是服务器端返回的格式:
ETag: "50b1c1d4f775c61:df3"
客户端的查询更新格式是这样的:
If-None-Match: W/"50b1c1d4f775c61:df3"
如果ETag没改变,则返回状态304然后不返回,这也和Last-Modified一样。
Expires
这个属性就如我们在ASP中使用HttpResponse.ExpiresAbsolute一样直接,声明某某时刻过期之后浏览器就应该重新请求该URL,使用格式为:
Expires: Sun, 10 Feb 2002 16:00:00 GMT
注意HttpResponse.ExpiresAbsolute在ASP.NET中是不建议使用的,现在我们应该使用的是HttpResponse.Cache.SetExpires。
Pragma
通常我们用到的值就是no-cache,这和在Cache-Control中使用no-cache值是一样的,Cache-Control在下面讲。Pragma的使用格式如下:
Pragma: no-cache
Cache-Control
这是一个集合型属性,它里面能够包含很多子属性,并且允许用户扩展新的子属性。常见的子属性包括:
引用
max-age - 以秒为单位的超时,覆盖Expires属性。
public - 允许保存在共享缓存中。
private - 只允许保存在私有缓存中。
no-cache - 不允许缓存。
no-store - 不允许缓存在持久介质中。
no-transform - 不允许转换存储系统。
public - 允许保存在共享缓存中。
private - 只允许保存在私有缓存中。
no-cache - 不允许缓存。
no-store - 不允许缓存在持久介质中。
no-transform - 不允许转换存储系统。
C#.NET里面的数组是怎么实现的?
探讨数组的实现,List转换为Array的原理。
我们应该多用C#里面的数组还是链表呢?Array还是泛型List。
问题:
(1)由于C#的数组可以通过List转换。当List的长度很大的时候,需要很大的内存,我们相信数组不是一整块内存组成。那么数组必然是由多块内存组成。很自然,可以想到数组是由链表+数组组成。
(2)List转换为数组需要花费多少时间?
(3)Array是用什么组成的?
参看MSDN的介绍:
看看msdn对数组的定义:
(1)在C#中,数组实际上是对象,而不只是像 C 和 C++ 中那样的可寻址连续内存区域。Array 是所有数组类型的抽象基类型。可以使用 Array 具有的属性以及其他类成员。这种用法的一个示例是使用 Length 属性来获取数组的长度。
(2)数组类型是从抽象基类型 Array 派生的引用类型。由于此类型实现了 IEnumerable 和 IEnumerable,因此可以对 C# 中的所有数组使用 foreach 迭代。
数组是从Array派生的引用类型。
(3)再看看对Array的介绍
Array 类是支持数组的语言实现的基类。但是,只有系统和编译器能够从 Array 类显式派生。用户应当使用由语言提供的数组构造。
一个元素就是 Array 中的一个值。Array 的长度是它可包含的元素总数。Array 的秩是 Array 中的维数。Array 中维度的下限是 Array 中该维度的起始索引,多维 Array 的各个维度可以有不同的界限。
重要事项:
在 .NET Framework 2.0 版中,Array 类实现 System.Collections.Generic.IList、System.Collections.Generic.ICollection 和 System.Collections.Generic.IEnumerable 泛型接口。由于实现是在运行时提供给数组的,因而对于文档生成工具不可见。因此,泛型接口不会出现在 Array 类的声明语法中,也不会有关于只能通过将数组强制转换为泛型接口类型(显式接口实现)才可访问的接口成员的参考主题。将某一数组强制转换为这三种接口之一时需要注意的关键一点是,添加、插入或移除元素的成员会引发 NotSupportedException。
既然Array由System.Collections.Generic.IList、System.Collections.Generic.ICollection 和 System.Collections.Generic.IEnumerable实现。那么Array就是由链表,集合和枚举器组成的。
Array.Copy 方法不仅可在同一类型的数组之间复制元素,而且可在不同类型的标准数组之间复制元素;它会自动处理强制类型转换。
(4)ToArray是否耗费更多的时间和空间
MSDN:元素使用 System.Array.Copy 来进行复制,后者为一种 O(n) 运算,其中 n 为 Count。
此方法的运算复杂度为 O(n),其中 n 是 Count。
这说明ToArray需要额外的内存空间存放新的数组。
(5)是否int[] 可以看成是Array的简写形式?
探讨数组的实现,List转换为Array的原理。
我们应该多用C#里面的数组还是链表呢?Array还是泛型List。
问题:
(1)由于C#的数组可以通过List转换。当List的长度很大的时候,需要很大的内存,我们相信数组不是一整块内存组成。那么数组必然是由多块内存组成。很自然,可以想到数组是由链表+数组组成。
(2)List转换为数组需要花费多少时间?
(3)Array是用什么组成的?
参看MSDN的介绍:
看看msdn对数组的定义:
(1)在C#中,数组实际上是对象,而不只是像 C 和 C++ 中那样的可寻址连续内存区域。Array 是所有数组类型的抽象基类型。可以使用 Array 具有的属性以及其他类成员。这种用法的一个示例是使用 Length 属性来获取数组的长度。
(2)数组类型是从抽象基类型 Array 派生的引用类型。由于此类型实现了 IEnumerable 和 IEnumerable,因此可以对 C# 中的所有数组使用 foreach 迭代。
数组是从Array派生的引用类型。
(3)再看看对Array的介绍
Array 类是支持数组的语言实现的基类。但是,只有系统和编译器能够从 Array 类显式派生。用户应当使用由语言提供的数组构造。
一个元素就是 Array 中的一个值。Array 的长度是它可包含的元素总数。Array 的秩是 Array 中的维数。Array 中维度的下限是 Array 中该维度的起始索引,多维 Array 的各个维度可以有不同的界限。
重要事项:
在 .NET Framework 2.0 版中,Array 类实现 System.Collections.Generic.IList、System.Collections.Generic.ICollection 和 System.Collections.Generic.IEnumerable 泛型接口。由于实现是在运行时提供给数组的,因而对于文档生成工具不可见。因此,泛型接口不会出现在 Array 类的声明语法中,也不会有关于只能通过将数组强制转换为泛型接口类型(显式接口实现)才可访问的接口成员的参考主题。将某一数组强制转换为这三种接口之一时需要注意的关键一点是,添加、插入或移除元素的成员会引发 NotSupportedException。
既然Array由System.Collections.Generic.IList、System.Collections.Generic.ICollection 和 System.Collections.Generic.IEnumerable实现。那么Array就是由链表,集合和枚举器组成的。
Array.Copy 方法不仅可在同一类型的数组之间复制元素,而且可在不同类型的标准数组之间复制元素;它会自动处理强制类型转换。
(4)ToArray是否耗费更多的时间和空间
MSDN:元素使用 System.Array.Copy 来进行复制,后者为一种 O(n) 运算,其中 n 为 Count。
此方法的运算复杂度为 O(n),其中 n 是 Count。
这说明ToArray需要额外的内存空间存放新的数组。
(5)是否int[] 可以看成是Array的简写形式?
Asp.Net MVC 框架已经出来好长时间了,由于前一段时间的工作需要,本人得以利用工作的机会去研究与使用这个框架。
MVC最初应用于JSP的时候,就是为了解决客户端代码与服务端代码混在一起的问题,Asp也同样存在这种问题,还记得曾经为了使Asp代码分开,做过很多刻意的工作,例如把Asp代码统一放在Page的顶部,下面放Html。
当然,到了Asp.Net,引入了Code Behind的概念,就不存在这种问题了,当然在这里Code Behind与应用Asp.Net MVC框架并不冲突,MVC做到了三个部分完全意义上的分离,每个部分各司其职,也可由专人来开发提高效率。
不过,在使用过程中发现目前的MVC框架也存在一些问题,例如:
1. 一个页面完成数据提交的功能,那么页面中
不可以使用run at server,这也意味着不能使用所有的Asp.Net服务器端控件,只有在显示页面才可以使用。
2. 由于Page只负责数据的显示,ViewState变得没有任何意义。
呵呵,个人感觉MVC + Linq可以成倍提高生产效率。
以上为本人使用MVC后的感受,如有不对的地方,请大家批驳,谢谢
MVC最初应用于JSP的时候,就是为了解决客户端代码与服务端代码混在一起的问题,Asp也同样存在这种问题,还记得曾经为了使Asp代码分开,做过很多刻意的工作,例如把Asp代码统一放在Page的顶部,下面放Html。
当然,到了Asp.Net,引入了Code Behind的概念,就不存在这种问题了,当然在这里Code Behind与应用Asp.Net MVC框架并不冲突,MVC做到了三个部分完全意义上的分离,每个部分各司其职,也可由专人来开发提高效率。
不过,在使用过程中发现目前的MVC框架也存在一些问题,例如:
1. 一个页面完成数据提交的功能,那么页面中
不可以使用run at server,这也意味着不能使用所有的Asp.Net服务器端控件,只有在显示页面才可以使用。
2. 由于Page只负责数据的显示,ViewState变得没有任何意义。
呵呵,个人感觉MVC + Linq可以成倍提高生产效率。
以上为本人使用MVC后的感受,如有不对的地方,请大家批驳,谢谢
北川县城已封城 救援人员穿防化服暂时撤离
昨日,记者从北川抗震指挥部获悉,为防疫情发生,北川县城已于昨晨封城。目前,救援人员已暂时撤离北川县城城区。据了解,指挥部已急调5000套防化服,以确保救援人员安全。
而据央视报道,已发现北川县城旁一山体渗水,救援可能临时中断一到两天。这个汛情警报目前仍没有解除。
进北川设两道封锁线
昨日上午,北川县城外,警方设两道封锁线。距县城约3公里处,设第一道封锁线,警方只对有通行证的车辆放行。
而在距县城2.5公里处,由武警和警察设立了第二道封锁线。记者在现场看到,大批军车停在一道封锁线与二道封锁线之间,随车战士或列队等候,或原地休息。而在之前,进入县城的公路上都是轰鸣驶入的各种重型机械和成队的军车。
在第二道封锁线,警方对进入者管制极为严格,即使有绵阳市委下发的通行证也不得进入。此外,四处巡逻的武警也不时劝返试图从小路进县城寻亲的人们。
疾控人员也不准进入
“不知道怎么回事,早上就不让进了。”来自浙江的一名抢险人员说,他们的任务是疾病控制,平时都可自由进入县城新老城区,不过昨晨他们也不准进入县城。
在第二道封锁线外,几名来自重庆的消防队员告诉记者,目前他们已暂时从北川县城城区撤出,随时待命。
前来北川县城寻找亲属的张先生说,19、20日他曾数次徒步进入县城寻亲,不过20日早上他发现县城内已空荡荡几乎看不见什么人。
使用过的防化服进行焚毁
昨日,北川县抗震指挥部新闻发言人说,20日早上,指挥部决定对北川县城进行封城,救援人员也暂时撤离了救援现场。撤离原因,第一是近期可能有强余震发生;第二,北川周边的多个堰塞湖已出现险情。
针对近期北川县城可能有疫情的传言,该负责人予以否认,他表示,目前灾区状况一切良好。不过为确保万无一失,指挥部已决定对在县城城区内使用过的防化服进行焚毁。
但记者在采访中注意到,尽管已禁止人员进城,但对从县城出来的人员消毒程序十分简单,仅有一名工作人员流动消毒。
据了解,目前指挥部已紧急调遣5000套防化服,以确保北川救援人员身体健康。
震区降雨堰塞湖水位上涨
昨日,四川震区开始降中到大雨,多个堰塞湖水位上涨,原本已经预警的堰塞湖将再次面临考验。记者从国土资源部抗震救灾前线指挥部成员、国土资源部环境司司长姜建军处获悉,国土部已派9个工作组,奔赴北川等地对隐患再次调查。
昨天下午2点多,北川县城开始下雨,雨越来越大,昨晚转为中雨。北川县上游有两个水库,由于水库持续不断有来水,堰塞湖水位不断上涨,有关部门也正在加强监测。昨天,已有武警部队进行全面监管。昨晚,绵阳市为此已召开紧急会议,会商堰塞湖的情况。
鉴于降雨量大可能导致堰塞湖存在溃坝危险,昨日,国土部已派出9个工作组,奔赴北川、安县、江油、平武、什邡、绵竹、青川等地,对这些地方的崩塌、滑坡等地质灾害进行调查和监测。一旦出现危险情况,将与水利部门一起第一时间向当地政府提出建议,并给出解决方案。
遗体腐烂可能威胁水环境
当前,灾区被埋遇难者遗体以及禽畜尸体的腐烂渗出液等,对水环境存在威胁。昨天,环境保护部出台3项技术规范,指导灾区水环境保护。
昨天,正在灾区的环境保护部西南环保督查中心主任马宁介绍,当前灾区的危险因素主要有废墟中被埋遇难者遗体以及禽畜尸体的腐烂渗出液、废墟清理等威胁水环境。为此,环境保护部紧急出台了灾后重建饮用水保护技术指南、饮用水安全保障应急技术方案、水环境与水源地监测技术规范。
据介绍,规范要求饮用水厂必须加强出水水质的监控,特别是对病原菌的监控,注意沉淀、消毒工序的效果。对于距地震废墟较近的地下水饮水水源地,应尽可能减少取水量或停止抽取地下水。
本文章转自腾讯网相关报道,牛C网只是负责对信息进行收集,由该文章产生的任何影响,都与牛C网无关!
昨日,记者从北川抗震指挥部获悉,为防疫情发生,北川县城已于昨晨封城。目前,救援人员已暂时撤离北川县城城区。据了解,指挥部已急调5000套防化服,以确保救援人员安全。
而据央视报道,已发现北川县城旁一山体渗水,救援可能临时中断一到两天。这个汛情警报目前仍没有解除。
进北川设两道封锁线
昨日上午,北川县城外,警方设两道封锁线。距县城约3公里处,设第一道封锁线,警方只对有通行证的车辆放行。
而在距县城2.5公里处,由武警和警察设立了第二道封锁线。记者在现场看到,大批军车停在一道封锁线与二道封锁线之间,随车战士或列队等候,或原地休息。而在之前,进入县城的公路上都是轰鸣驶入的各种重型机械和成队的军车。
在第二道封锁线,警方对进入者管制极为严格,即使有绵阳市委下发的通行证也不得进入。此外,四处巡逻的武警也不时劝返试图从小路进县城寻亲的人们。
疾控人员也不准进入
“不知道怎么回事,早上就不让进了。”来自浙江的一名抢险人员说,他们的任务是疾病控制,平时都可自由进入县城新老城区,不过昨晨他们也不准进入县城。
在第二道封锁线外,几名来自重庆的消防队员告诉记者,目前他们已暂时从北川县城城区撤出,随时待命。
前来北川县城寻找亲属的张先生说,19、20日他曾数次徒步进入县城寻亲,不过20日早上他发现县城内已空荡荡几乎看不见什么人。
使用过的防化服进行焚毁
昨日,北川县抗震指挥部新闻发言人说,20日早上,指挥部决定对北川县城进行封城,救援人员也暂时撤离了救援现场。撤离原因,第一是近期可能有强余震发生;第二,北川周边的多个堰塞湖已出现险情。
针对近期北川县城可能有疫情的传言,该负责人予以否认,他表示,目前灾区状况一切良好。不过为确保万无一失,指挥部已决定对在县城城区内使用过的防化服进行焚毁。
但记者在采访中注意到,尽管已禁止人员进城,但对从县城出来的人员消毒程序十分简单,仅有一名工作人员流动消毒。
据了解,目前指挥部已紧急调遣5000套防化服,以确保北川救援人员身体健康。
震区降雨堰塞湖水位上涨
昨日,四川震区开始降中到大雨,多个堰塞湖水位上涨,原本已经预警的堰塞湖将再次面临考验。记者从国土资源部抗震救灾前线指挥部成员、国土资源部环境司司长姜建军处获悉,国土部已派9个工作组,奔赴北川等地对隐患再次调查。
昨天下午2点多,北川县城开始下雨,雨越来越大,昨晚转为中雨。北川县上游有两个水库,由于水库持续不断有来水,堰塞湖水位不断上涨,有关部门也正在加强监测。昨天,已有武警部队进行全面监管。昨晚,绵阳市为此已召开紧急会议,会商堰塞湖的情况。
鉴于降雨量大可能导致堰塞湖存在溃坝危险,昨日,国土部已派出9个工作组,奔赴北川、安县、江油、平武、什邡、绵竹、青川等地,对这些地方的崩塌、滑坡等地质灾害进行调查和监测。一旦出现危险情况,将与水利部门一起第一时间向当地政府提出建议,并给出解决方案。
遗体腐烂可能威胁水环境
当前,灾区被埋遇难者遗体以及禽畜尸体的腐烂渗出液等,对水环境存在威胁。昨天,环境保护部出台3项技术规范,指导灾区水环境保护。
昨天,正在灾区的环境保护部西南环保督查中心主任马宁介绍,当前灾区的危险因素主要有废墟中被埋遇难者遗体以及禽畜尸体的腐烂渗出液、废墟清理等威胁水环境。为此,环境保护部紧急出台了灾后重建饮用水保护技术指南、饮用水安全保障应急技术方案、水环境与水源地监测技术规范。
据介绍,规范要求饮用水厂必须加强出水水质的监控,特别是对病原菌的监控,注意沉淀、消毒工序的效果。对于距地震废墟较近的地下水饮水水源地,应尽可能减少取水量或停止抽取地下水。
本文章转自腾讯网相关报道,牛C网只是负责对信息进行收集,由该文章产生的任何影响,都与牛C网无关!
昨天下午,一段视频出现在网上,显示一所中学正在搞捐款,蹊跷的是放进捐款箱的钱又被拿出来发给其他人重新再捐,如此反复。视频很快流传开来,有网友称拍摄者已被学校开除。很多网友怀疑视频中的捐款涉嫌造假。
校方称:视频拍摄的是惠州三中,校方表示这是个误会,捐款实际上是15日举行的,因为媒体没有拍到镜头,所以16日配合媒体补拍了一下。校领导说绝对不会处理拍视频的学生。
视频拍下“捐款过程”
16日中午,一段名为《劲爆三中捐款内幕》的视频出现在网上,并迅速流传开来。视频里有老师,有学生,还有摄像师。视频显示,先是很多老师排队捐款,然后有人把钱从捐款箱中取出,交给两位领导,在摄像师的指导下重新捐款。接下来很多穿校服的学生排队到场,有工作人员给他们发钱,再逐一捐款。
这段视频迅速流传开,并成为网络热点。网友指称视频拍摄的是惠州三中,并猜测可能是捐款造假,发出许多批评。有网友传拍摄者已被学校开除。
校方迅速反应网上发声明
16日下午,本报记者联系到了惠州三中,校方承认视频拍的确实是三中的事情,但实际上是个误会。捐款是15日举行的,3000余名师生捐了112979.7元。该校是惠州市惠城区自发捐款较早的学校,也是捐款数目较大的学校,但当时没有记者在场。16日,有媒体提出希望补拍一些镜头,学校就组织了一些老师学生部分还原了前一天的捐款场景。
视频引起了惠州三中校方的高度重视,当晚就把一份声明发到了网上,进行澄清,并贴出惠州市惠城区慈善总会开具的捐款确认单。声明里还列出几位校领导的手机,“24小时欢迎广大网友致电了解情况。”他们也确实接到了很多网友的电话,并一一进行解释和表示感谢。
拍摄视频的学生当晚在网上发表了一份《道歉声明》,解释自己当时“不清楚事情的真相,只看到了表面,所以才开了这个玩笑”。他说向老师同学和网民道歉。
“绝对不会处理学生”
惠州三中副校长刘秋儿当天参加了捐款补拍,他向本报记者介绍,补拍用的捐款箱就是前一天他们捐款的那个箱子,视频里拍到的现金也是前一天师生们捐出的。视频里两个单独重新捐款的人就是他本人和教务处主任,他们应摄像师的要求又走了一次。
出现在视频里的学生是高二某班的,“因为前一天他们班捐得最多,所以就请他们来拍。本来这是个好事儿嘛”。
刘秋儿说,学校已经了解到是谁拍的视频,但不会对他进行任何处理,“学生嘛,他又不了解情况,只是觉得好玩就拍下,可以理解”。
惠州三中党支部书记魏仕英也表示:“网上说我们开除了学生,没这回事,我可以保证,我们学校绝对不会处理拍摄和上传视频的学生。”
正当全体国人在为四川地震灾区慷慨解囊之时,一段网上流传的视频却将广东惠州三中推到了遭亿万人唾骂的境地,该视频显示的是,5月16日该校师生捐款后,校方将款箱内捐款取出发还捐款者的场景。
昨日,该校书记魏仕英表示,学校捐款已于15日捐赠灾区,学校为教育入学新生,故在16日补拍捐款现场录象。
部分网友
这也是社会宣传的需要
录像中,教师们排队走向捐款箱,逐个向箱内投入现金,一名肩扛摄像机的男子拍摄捐款场面。教师捐款后,两名男子将款箱内的钱取出,其中一人将一部分钱取走后离开。另一人则将手中的钱交给列队的学生们,学生们又逐一走向捐款箱,将手中的钱投入。待全部捐款完毕后,师生们再次聚集到捐款箱周围,校方人员再次将箱内现金取出。
在录像中,出现几名学生的声音,一男生说“好虚伪啊,被我抓到了”等话。录像一经上传后,立即引起大批网民关注,网民们纷纷留言谴责学校作假。有网民留言,拍摄视频的学生已于当日下午被学校开除。也有网友留言说,“这和赈灾晚会一样,都是先捐了钱然后再去拍,本质是他们真的捐了钱,献了自己的爱心,这个社会需要宣传……”
校方表态
学校所做捐款活动属实
昨日,本报记者与惠州三中党委书记魏仕英老师取得联系,魏老师表示,全校已于5月15日共捐款11万1千余元,当日就将全部捐款转交当地红十字会送给灾区人民。当时学校捐款场面非常感人,但学校没有录像资料,所以又于16日再次进行补拍,这段录像将留做入学新生的教育资料。拍摄录像上传网络的学生,学校也没有难为他。
她向所有不明真相的网民保证。同时她也希望所有网民理解学校,相信全校师生为灾区所做的捐款活动完全属实。
昨日,该校书记魏仕英表示,学校捐款已于15日捐赠灾区,学校为教育入学新生,故在16日补拍捐款现场录象。
部分网友
这也是社会宣传的需要
录像中,教师们排队走向捐款箱,逐个向箱内投入现金,一名肩扛摄像机的男子拍摄捐款场面。教师捐款后,两名男子将款箱内的钱取出,其中一人将一部分钱取走后离开。另一人则将手中的钱交给列队的学生们,学生们又逐一走向捐款箱,将手中的钱投入。待全部捐款完毕后,师生们再次聚集到捐款箱周围,校方人员再次将箱内现金取出。
在录像中,出现几名学生的声音,一男生说“好虚伪啊,被我抓到了”等话。录像一经上传后,立即引起大批网民关注,网民们纷纷留言谴责学校作假。有网民留言,拍摄视频的学生已于当日下午被学校开除。也有网友留言说,“这和赈灾晚会一样,都是先捐了钱然后再去拍,本质是他们真的捐了钱,献了自己的爱心,这个社会需要宣传……”
校方表态
学校所做捐款活动属实
昨日,本报记者与惠州三中党委书记魏仕英老师取得联系,魏老师表示,全校已于5月15日共捐款11万1千余元,当日就将全部捐款转交当地红十字会送给灾区人民。当时学校捐款场面非常感人,但学校没有录像资料,所以又于16日再次进行补拍,这段录像将留做入学新生的教育资料。拍摄录像上传网络的学生,学校也没有难为他。
她向所有不明真相的网民保证。同时她也希望所有网民理解学校,相信全校师生为灾区所做的捐款活动完全属实。
使用 VS 2008 创建一个新的Silverlight 应用
我们来开始我们的Digg应用的开发,先选择Visual Studio 2008 中的文件->新项目菜单项,使用新项目对话框创建一个“Silverlight Application” (注:你需要在Beta1发布后,下载和安装 VS 2008的Silverlight工具才能得到这个支持):

我们将该项目命名为“DiggSample”。在点击OK按钮后, Visual Studio 会显示另外一个对话框,允许我们选择我们是否只要创建一个Silverlight应用项目,或者还要加一个服务器端的ASP.NET Web项目到包含Silverlight应用的解决方案里去:

在这个例程里,我们将选择还要添加一个ASP.NET Web Application 项目到解决方案里去,并将它命名为“DiggSample_WebServer”。在点击OK之后,Visual Studio 会为我们创建一个解决方案,里面包含一个Silverlight 客户端应用和一个ASP.NET web 服务器端应用:

如果我们做一次编译的话, Visual Studio 会自动把编译好的 Silverlight 应用拷贝到我们的web服务器项目中去,不需要手工的步骤或配置。VS为我们创建的默认的web服务器项目包含一个ASP.NET网页和一个静态的 HTML网页,我们可以用来运行和测试其中的Silverlight应用。
理解Silverlight应用里都有些什么
在默认情形下,一个新建的Silverlight应用项目包含一个Page.xaml和一个 App.xaml文件,以及与它们相关的后台(code behind )类文件(可以用VB, C#, Ruby 或Python来编写):

XAML文件是XML文本文件,可以用来用声明的方式指定 Silverlight 或 WPF应用的用户界面。XAML还可更广泛地用来用声明的方式代表.NET对象。
App.xaml 文件一般用来声明譬如象画刷和样式对象这样可在整个应用中共享的资源。App.xaml的后台Application类可用来处理应用级的事件,象 Application_Startup, Application_Exit 和Application_UnhandledException。
Page.xaml 文件,在默认情形下,是在应用激活时装载的起始的UI控件。在其中,我们可以使用UI控件来定义我们的用户界面,然后在Page的后台代码类里处理它们的事件(详见后文)。
在我们编译DiggSample项目时,在默认情形下,Visual Studio 会把代码和XAML标识编译进一个标准的 .NET 程序集文件中,然后把它和任何静态的资源(象图片或我们想要包含的静态文件)包装进硬盘上一个叫做“DiggSample.xap”的文件中去:

“.xap”文件(其音发作“zap”)使用标准的 .zip压缩算法来减小客户端下载的大小。一个“hello world”.NET Silverlight 应用(用VB或C#编写的)其大小大概为4KB。
要宿主和运行一个Silverlight 2 应用,你可以把
我们来开始我们的Digg应用的开发,先选择Visual Studio 2008 中的文件->新项目菜单项,使用新项目对话框创建一个“Silverlight Application” (注:你需要在Beta1发布后,下载和安装 VS 2008的Silverlight工具才能得到这个支持):
我们将该项目命名为“DiggSample”。在点击OK按钮后, Visual Studio 会显示另外一个对话框,允许我们选择我们是否只要创建一个Silverlight应用项目,或者还要加一个服务器端的ASP.NET Web项目到包含Silverlight应用的解决方案里去:
在这个例程里,我们将选择还要添加一个ASP.NET Web Application 项目到解决方案里去,并将它命名为“DiggSample_WebServer”。在点击OK之后,Visual Studio 会为我们创建一个解决方案,里面包含一个Silverlight 客户端应用和一个ASP.NET web 服务器端应用:
如果我们做一次编译的话, Visual Studio 会自动把编译好的 Silverlight 应用拷贝到我们的web服务器项目中去,不需要手工的步骤或配置。VS为我们创建的默认的web服务器项目包含一个ASP.NET网页和一个静态的 HTML网页,我们可以用来运行和测试其中的Silverlight应用。
引用
注: Silverlight应用可用于任何web服务器(包括Linux上的Apache),宿主于静态HTML文件或者任何服务器端生成的网页(包括 PHP, Java, Python, Ruby等等)中。在这个Digg样例中,我们不会写任何服务器端的代码,而是将使用Silverlight的跨域networking功能,来直接访问 Digg服务的API。我选择创建一个ASP.NET web服务器项目,主要是想获得自动的部署,并且使用它内置的web服务器来做测试。
理解Silverlight应用里都有些什么
在默认情形下,一个新建的Silverlight应用项目包含一个Page.xaml和一个 App.xaml文件,以及与它们相关的后台(code behind )类文件(可以用VB, C#, Ruby 或Python来编写):
XAML文件是XML文本文件,可以用来用声明的方式指定 Silverlight 或 WPF应用的用户界面。XAML还可更广泛地用来用声明的方式代表.NET对象。
App.xaml 文件一般用来声明譬如象画刷和样式对象这样可在整个应用中共享的资源。App.xaml的后台Application类可用来处理应用级的事件,象 Application_Startup, Application_Exit 和Application_UnhandledException。
Page.xaml 文件,在默认情形下,是在应用激活时装载的起始的UI控件。在其中,我们可以使用UI控件来定义我们的用户界面,然后在Page的后台代码类里处理它们的事件(详见后文)。
在我们编译DiggSample项目时,在默认情形下,Visual Studio 会把代码和XAML标识编译进一个标准的 .NET 程序集文件中,然后把它和任何静态的资源(象图片或我们想要包含的静态文件)包装进硬盘上一个叫做“DiggSample.xap”的文件中去:
“.xap”文件(其音发作“zap”)使用标准的 .zip压缩算法来减小客户端下载的大小。一个“hello world”.NET Silverlight 应用(用VB或C#编写的)其大小大概为4KB。
引用
注: Beta1版本中的一些控件是在程序集中实现的,如果使用这些控件的话,这些程序集会重新发布于应用的 .xap 文件中(会增加应用的大小,超出4KB的基底大小)。在Digg应用中使用的所有控件将会在Beta2版和最终版的核心Silverlight下载包中, 这意味着完成的应用的总下载大小大概只在6-8KB范围内(所以是非常小,下载起来非常快)。
要宿主和运行一个Silverlight 2 应用,你可以把
被称为“搜索年”的2007年已经过去,进入2008年,搜索引擎仍然持续走热。据艾瑞咨询公布的最新统计数据显示,2007年搜索引擎广告市场实现爆发式增长,2007年同比增长率由2006年不足50%快速增长,超过100%,总体市场规模比重已经达到27.3%,相比2006年的23.0%上升了4.3个百分点。Khan预计全球搜索引擎收入将从2007年的262亿美元升至2008年的305亿美元,上升幅度超过16%。
百度与谷歌占有的搜索引擎市场比重仍然比较大,但是对于中国目前搜索引擎市场尚处于发展阶段的实际情况来看,仍然不乏创造者进入搜索引擎领域。快速成长的搜索引擎市场充满了变数,垂直化、细分化的搜索引擎由于更贴近用户体验而迅速成为2008年被关注的焦点。几乎在各个产业细分的领域,我们都可以发现一个迅速成长起来的搜索引擎,它们引领了垂直搜索的潮流,它们用看未来的眼光和敢为天下先的情怀,在中国乃至世界的互联网大潮里破浪前行。2008年的中国是不平凡的中国,1月1日开始实施的新《劳动合同法》拉开了中国年大舞台的幕布,北京奥运也给中国的互联网行业带来了一次逐鹿中原的机遇。
有道、SOSO、搜狗的崛起使中国综合搜索引擎市场进入战国时代,而执着在垂直细分领域的搜索引擎厂商也看到了市场的第一缕阳光,并期待着朝阳必然升起的时刻。纵观中国,我们用一种战略的眼光审视那些值得期待的垂直搜索引擎厂商,在王婆卖瓜和众说纷纭中擦亮眼睛、理清脉络,把握中国年里垂直搜索网站的走势,期待那些厂商可以带给我们全新的互联网搜索体验。
1、综合类 酷讯www.kooxoo.com
酷讯成立于2005年年底,是一款以即时的生活信息为检索对象的垂直搜索引擎,刚创办的酷讯是一个火车票搜索平台,至今已经有工作、住房、票务、汽车、餐饮、交友、购物、旅游等信息搜索栏目。据酷讯CEO陈华日前在网易《创业世纪》访谈中透露,酷讯2008年主要的方向是在旅游和房产搜索上,意欲从中国市场规模超过万亿的两大行业中分得一杯美羹。
2、求职招聘类 职友集 www.jobui.com
与酷讯几乎同时成立的职友集,三年中一直坚持专注于职位搜索领域。随着网络招聘市场规模的扩大,行业招聘和地区招聘网站的成熟,招聘信息呈分散的趋势。职友集更新的即时职位信息最高峰突破70万条/日,一般更新速度稳定在日均30——40万条之间。庞大的职位信息支持了职友集的薪酬搜索数据的准确性。据职友集的CEO郑泽峰透露,即将于2008年5月份上线的新版职友集将增加就业趋势搜索的功能,是继薪酬搜索之后的又一个特色搜索,是职友集为求职者创造的又一个理想的职场参照系。
3、房产类 搜房引擎 search.soufun.com
丁磊说:门户网站准备随时复制web2.0网站的实验出来的新模式。作为中国最早的垂直搜索引擎之一,搜房引擎造就了今天的搜房网。搜房网CEO莫天全说:所有有关“家”的事情都是我们要做的。但是不能好高骛远,做完一件事情以后,踏实了,再做第二件事情。目前搜房引擎提供:新房、二手房、租房、写字楼/商铺、家居、资讯等六个大类的搜索服务。“所有和家有关的事情都要可以搜。” 搜房网2008年的上市计划或者不会让中国的房情失望。
4、商业类 Anyso商业搜索引擎http://www.anyso.com/
为全力开拓和推广多语言搜索引擎,据悉厦门书生耗资百万启用www.anyso.com和www.258.com双域名,前者主要针对国际市场,后者主要针对国内市场。258商业搜索为全球商务人士全面提供多语言商业信息搜索服务,实时搜索全球超过6000家B2B平台,包括供求信息、产品信息、公司信息、行业新闻等,包括:商情、公司、资讯、商业目录、找到等功能。
5、地图类 都市圈-三维地图 http://www.o.cn/
作为虚拟现实技术的应用和发展,首先应该赞誉的是都市圈的豪华形象。亿动网络2005年开始致力于三维仿真城市的研究与开发,取得了“都市圈”卓然的成绩,从真正意义上实现了数字城市的构想。进入都市圈你可以干什么?答案是:你可以在另一个虚拟城市中办好真实生活中的大部分事情。据网站负责人表示,网站框架已经搭好,与相关机构的上市谈判也在紧锣密鼓地进行。2008年,都市圈能否改变生活?
6、图书类 爱搜书网 http://www.isoshu.com/
这是一家2006年年初成立于四川成都的电子书垂直搜索网站,一直专注于为用户提供各种电子书资源的垂直搜索服务,目前拥有包括漫画、小说、商业、生活、星相命理以及手机和英文等七个频道的电子书搜索资源。其开发的电子书阅读器eREAD有广泛的用户群,并成为为数不多的有桌面软件的垂直搜索网站之一。爱搜书创始人蔡东机在2008第三届艾瑞新经济年会上说:它就想从做世界第一开始的。阅读是一个人的良好习惯,电子书能成为好习惯中的好习惯吗?
7、视频类 优酷视频搜索http://www.youku.com/
2006年年底正式上线的优酷网,一直是中国视频分享网站的领跑者而受到广泛的关注。古永锵说:优酷网有3个1个亿目标:2007年投入1个亿,2008年流量1个亿,2009年收入要过亿。知名调研机构AC尼尔森公司2007年12月公布优酷网日视频播放量(VV)突破1亿,每日独立访问用户数量(UV)超过1200万。对于优酷网来说,2008年1亿目标已经实现,但没有拿到国家广电总局发放首批视频网站牌照,显然2008年的目标就在眼前了。
8、资源类 狗狗www.gougou.com
狗狗搜索是迅雷旗下的资源类搜索引擎,以查询影视、音乐、游戏、视频、软件、书籍、手机、网页等内容为主。迅雷在07年初获得谷歌注资之后迅速崛起,由于有了谷歌这样的搜索巨头的背景,那么狗狗搜索的出现则是理所当然了。国家广播电视总局年初对土豆网等32家视频网站因内容违规遭到警告处罚,而迅雷中国、猫扑视频等25家网站被责令停止视频节目服务。对于迅雷和狗狗来说2008年也终将不会是平凡的一年,做好搜索和下载或者是不错的选择。
百度与谷歌占有的搜索引擎市场比重仍然比较大,但是对于中国目前搜索引擎市场尚处于发展阶段的实际情况来看,仍然不乏创造者进入搜索引擎领域。快速成长的搜索引擎市场充满了变数,垂直化、细分化的搜索引擎由于更贴近用户体验而迅速成为2008年被关注的焦点。几乎在各个产业细分的领域,我们都可以发现一个迅速成长起来的搜索引擎,它们引领了垂直搜索的潮流,它们用看未来的眼光和敢为天下先的情怀,在中国乃至世界的互联网大潮里破浪前行。2008年的中国是不平凡的中国,1月1日开始实施的新《劳动合同法》拉开了中国年大舞台的幕布,北京奥运也给中国的互联网行业带来了一次逐鹿中原的机遇。
有道、SOSO、搜狗的崛起使中国综合搜索引擎市场进入战国时代,而执着在垂直细分领域的搜索引擎厂商也看到了市场的第一缕阳光,并期待着朝阳必然升起的时刻。纵观中国,我们用一种战略的眼光审视那些值得期待的垂直搜索引擎厂商,在王婆卖瓜和众说纷纭中擦亮眼睛、理清脉络,把握中国年里垂直搜索网站的走势,期待那些厂商可以带给我们全新的互联网搜索体验。
1、综合类 酷讯www.kooxoo.com
酷讯成立于2005年年底,是一款以即时的生活信息为检索对象的垂直搜索引擎,刚创办的酷讯是一个火车票搜索平台,至今已经有工作、住房、票务、汽车、餐饮、交友、购物、旅游等信息搜索栏目。据酷讯CEO陈华日前在网易《创业世纪》访谈中透露,酷讯2008年主要的方向是在旅游和房产搜索上,意欲从中国市场规模超过万亿的两大行业中分得一杯美羹。
2、求职招聘类 职友集 www.jobui.com
与酷讯几乎同时成立的职友集,三年中一直坚持专注于职位搜索领域。随着网络招聘市场规模的扩大,行业招聘和地区招聘网站的成熟,招聘信息呈分散的趋势。职友集更新的即时职位信息最高峰突破70万条/日,一般更新速度稳定在日均30——40万条之间。庞大的职位信息支持了职友集的薪酬搜索数据的准确性。据职友集的CEO郑泽峰透露,即将于2008年5月份上线的新版职友集将增加就业趋势搜索的功能,是继薪酬搜索之后的又一个特色搜索,是职友集为求职者创造的又一个理想的职场参照系。
3、房产类 搜房引擎 search.soufun.com
丁磊说:门户网站准备随时复制web2.0网站的实验出来的新模式。作为中国最早的垂直搜索引擎之一,搜房引擎造就了今天的搜房网。搜房网CEO莫天全说:所有有关“家”的事情都是我们要做的。但是不能好高骛远,做完一件事情以后,踏实了,再做第二件事情。目前搜房引擎提供:新房、二手房、租房、写字楼/商铺、家居、资讯等六个大类的搜索服务。“所有和家有关的事情都要可以搜。” 搜房网2008年的上市计划或者不会让中国的房情失望。
4、商业类 Anyso商业搜索引擎http://www.anyso.com/
为全力开拓和推广多语言搜索引擎,据悉厦门书生耗资百万启用www.anyso.com和www.258.com双域名,前者主要针对国际市场,后者主要针对国内市场。258商业搜索为全球商务人士全面提供多语言商业信息搜索服务,实时搜索全球超过6000家B2B平台,包括供求信息、产品信息、公司信息、行业新闻等,包括:商情、公司、资讯、商业目录、找到等功能。
5、地图类 都市圈-三维地图 http://www.o.cn/
作为虚拟现实技术的应用和发展,首先应该赞誉的是都市圈的豪华形象。亿动网络2005年开始致力于三维仿真城市的研究与开发,取得了“都市圈”卓然的成绩,从真正意义上实现了数字城市的构想。进入都市圈你可以干什么?答案是:你可以在另一个虚拟城市中办好真实生活中的大部分事情。据网站负责人表示,网站框架已经搭好,与相关机构的上市谈判也在紧锣密鼓地进行。2008年,都市圈能否改变生活?
6、图书类 爱搜书网 http://www.isoshu.com/
这是一家2006年年初成立于四川成都的电子书垂直搜索网站,一直专注于为用户提供各种电子书资源的垂直搜索服务,目前拥有包括漫画、小说、商业、生活、星相命理以及手机和英文等七个频道的电子书搜索资源。其开发的电子书阅读器eREAD有广泛的用户群,并成为为数不多的有桌面软件的垂直搜索网站之一。爱搜书创始人蔡东机在2008第三届艾瑞新经济年会上说:它就想从做世界第一开始的。阅读是一个人的良好习惯,电子书能成为好习惯中的好习惯吗?
7、视频类 优酷视频搜索http://www.youku.com/
2006年年底正式上线的优酷网,一直是中国视频分享网站的领跑者而受到广泛的关注。古永锵说:优酷网有3个1个亿目标:2007年投入1个亿,2008年流量1个亿,2009年收入要过亿。知名调研机构AC尼尔森公司2007年12月公布优酷网日视频播放量(VV)突破1亿,每日独立访问用户数量(UV)超过1200万。对于优酷网来说,2008年1亿目标已经实现,但没有拿到国家广电总局发放首批视频网站牌照,显然2008年的目标就在眼前了。
8、资源类 狗狗www.gougou.com
狗狗搜索是迅雷旗下的资源类搜索引擎,以查询影视、音乐、游戏、视频、软件、书籍、手机、网页等内容为主。迅雷在07年初获得谷歌注资之后迅速崛起,由于有了谷歌这样的搜索巨头的背景,那么狗狗搜索的出现则是理所当然了。国家广播电视总局年初对土豆网等32家视频网站因内容违规遭到警告处罚,而迅雷中国、猫扑视频等25家网站被责令停止视频节目服务。对于迅雷和狗狗来说2008年也终将不会是平凡的一年,做好搜索和下载或者是不错的选择。
Web 标准使您能通过最少的工作,生成可被最广大受众访问的 Web 站点。Web 标准的承诺是:只需设计页面一次,即可让该页以完全相同的方式在任何现代的浏览器中显示和工作。例如,在按照标准生成以后,旨在在 Microsoft Internet Explorer 中以某种方式显示的页可在其他浏览器(如,Mozilla Firefox、Netscape Navigator、Opera、Camino 和 Safari)中以相同的方式显示,而无需完成任何额外的工作。
Web 标准的一个额外好处是 — 使 Web 站点更易于为残疾人士访问。这是一个范围广泛的受众群体,包括视力衰退的中年人士,刚刚在滑雪时跌断胳膊的人士,以及完全失明的人士等。使用标准可避免无意中阻止那些具有暂时性或永久性身体残疾的人士访问 Web 页。
对于生成满足公共 Web 标准的 Web 站点而言,Microsoft ASP.NET 2.0 框架是最佳的框架。特别强调的是,ASP.NET 2.0 框架中的每个控件都按照 XHTML 和可访问性标准进行了全面的检查和测试。此外,Microsoft Visual Studio .NET 2005 还包含一些新工具,用于按照 XHTML 和可访问性标准验证 Web 页。
本文的目的是为您提供有关 XHTML 和可访问性标准的概述,并说明如何利用 ASP.NET 2.0 和 Visual Studio .NET 2005 来满足这些标准。在本文的结尾,将分步演练以下功能,即创建能够同时满足 XHTML 和可访问性标准的 ASP.NET 2.0 Web 站点。
生成 XHTML Web 站点 HTML 在正式的场合已经过时了。World Wide Web Consortium (W3C) 于 2000 年 6 月 26 日发布了 XHTML 的第一个版本作为推荐标准。XHTML 标准的目标是取代 HTML。按照 W3C 的说法,“XHTML 是 HTML 的继承者”(http://www.w3.org/MarkUp/)。
XHTML 标准的制定者具有两大目标:
1 在文档结构和表示形式之间创建更明显的分离。
2 将 HTML 重新表示为 XML 的应用程序。
为了实现第一个目标,W3C 一直在坚定地从 HTML 中删除纯粹描述性的元素和属性(他们是从 HTML 4.0 开始这一过程的)。例如,XHTML 1.0 Strict 不包含诸如 标记之类的元素或诸如 bgcolor 属性之类的属性,因为这些元素和属性完全用于描述文档的外观,它们与文档的结构没有任何关系。
W3C 一直在努力使 Web 站点设计人员和开发人员摒弃特定标记应当具有特定外观这一观念。例如,您可能会认为
标记(标题标记)的用途是在页中呈现大的加粗文本。这实际上是错的。 标记用来在文档中标记标题而不是其他任何东西。如何呈现标题标记由浏览器确定。视力衰退的人士使用的屏幕阅读器可能利用抑扬顿挫的声音来大声朗读标题标记的内容。不支持多个字体大小的 PDA 可能用闪烁文本呈现标题标记的内容。
您不应当试图使用诸如标记之类的页元素来控制 Web 页的外观。相反,您应当通过使用层叠样式表来指示 Web 页的外观。而且,您所使用的层叠样式表应当是外部 层叠样式表。请使用标记和属性来标记文档的结构,而使用样式表来控制文档的表示形式。
XHTML 的第二个目标是迫使 HTML 开发人员遵守更为严格的 XML 规则。按照 W3C 的说法,“XHTML 1.0 是 HTML 4.01 的作为 XML 1.0 应用程序的修订”(http://www.w3.org/MarkUp/)。换句话说,使用 XHTML 生成 Web 页时,实际上是在创建 XML 文档。
XML 文档具有比 HTML 文档更严格的语法。例如,XML 区分大小写,所有 XML 属性都必须放在引号内,而且 XML 标记不能重叠。强迫 Web 站点开发人员和设计人员遵守有更高要求的语言规则有很多好处。
好处之一,用 XHTML 标记编写的页具有更高的跨浏览器、跨设备和跨操作系统兼容性。如果在浏览器中打开传统的 HTML 页,浏览器将千方百计地呈现该页。浏览器将试图呈现该页,即使您的 HTML 一团糟。例如,Internet Explorer(以及 Firefox 和 Opera)能够很好地显示下面的 HTML 页。
this is bold and italic and this is bold
Internet Explorer 会恰当地显示该页 — 即使该页缺少 和 开始标记, 标记不具有匹配的结束标记,并且开始和结束 标记的大小写不一致。所有主要的浏览器都能适应几乎任何 HTML 标记“混合物”,并且不顾一切地呈现一些内容。
浏览器的这种适应行为是危险的,因为不同的浏览器(或相同浏览器的将来版本,或在不同操作系统上运行的相同浏览器)可能以不同方式呈现错乱的 HTML。实际上,对于最新版本的 Internet Explorer、Mozilla Firefox 和 Opera 而言,它们呈现无效 HTML 的方式惊人地一致。但是,一旦开始违反游戏规则,就不会得到任何保证。
然而,如果用 XHTML 的更严格的规则编写 Web 页,那么 Web 页就更有可能以一致的方式与当前浏览器协作,并且它们将继续与当前浏览器的未来新版本协作。对于任何公司而言,几乎都不具备针对每个浏览器、在每个操作系统和每个设备上测试其 Web 站点的资源。如果按照 Web 标准编写页面,那么就不必具有这样的资源。XHTML 标准的版本有三个版本的 XHTML 1.0,它们分别对应三个版本的 HTML 4.01:? XHTML 1.0 Transitional ? XHTML 1.0 Strict ? XHTML 1.0 Frameset
XHTML 1.0 Transitional 包含 HTML 4.01 Transitional 中的全部标记和属性。引入 XHTML 1.0 Transitional 标准的目的是,使现有 HTML 设计人员和开发人员无需经历太多的痛苦就能迁移到 XHTML。
XHTML 1.0 Strict 与 XHTML 1.0 Transitional 的不同之处在于,它在文档结构和表示形式之间实施了一种更为明显的分离。与 XHTML 1.0 Transitional 不同,XHTML 1.0 Strict 强迫您使用层叠样式表来控制页的外观。
XHTML 1.0 Frameset 文档意在成为使用 标记将浏览器划分为多个框架的文档(XHTML 1.0 Transitional 和 Strict 页不能包含 标记)。
W3C 还发布了 XHTML 1.1 以作为推荐标准(2001 年 5 月 31 日)。XHTML 1.1 非常类似于 XHTML 1.0 Strict。二者的主要区别在于,可以用附加模块扩展 XHTML 1.1 以便支持新元素。例如,可以生成特定的 XHTML 1.1 页,该页还包含 MathML(数学标记语言)、SVG(可伸缩向量语言)或创建的自定义模块中的元素。
最后,W3C 正在制订 XHTML 2.0 推荐标准。因为 XHTML 2.0 仍然处于起草阶段,并且当前没有 Web 浏览器支持该标准,所以我们不在本文讨论它。
ASP.NET 2.0 框架和 Visual Studio .NET 2005 面向 XHTML 1.0 Transitional。该标准是 XHTML 标准中限制性最低的,而且它是与现有 HTML 页最兼容的标准。但是,还可以生成面向 XHTML 1.0 Strict 标准甚至 XHTML 1.1 标准的 ASP.NET 2.0 页(请参阅后面的“配置 XHTML 一致性”一节)。
(请注意,默认情况下,ASP.NET 框架的 Beta 2 版本面向 XHTML 1.1。 ASP.NET 2.0 框架的最终版本将面向 XHTML 1.0 Transitional。)
创建 XHTML 页
与 HTML 页不同,XHTML 页必须是标准格式且有效的 XML 文档。XHTML 1.0 推荐标准的第 4 部分对 HTML 和 XHTML 之间的区别进行了总结。这里给出生成有效 XHTML 页的最重要需求的列表:
页必须包含有效的 XHTML DOCTYPE。
有效的 XHTML 页必须在其任何内容之前包含一个 XHTML DOCTYPE。当在 Visual Studio .NET 2005 或 Microsoft Visual Web Developer 中创建新的 ASP.NET 页时,该页中将自动包含 XHTML 1.0 Transitional 的正确的 DOCTYPE。下面列出四个标准的 XHTML DOCTYPE:
XHTML 1.0 Transitional
XHTML 1.0 Strict
XHTML 1.0 Frameset
XHTML 1.1
向页中添加 DOCTYPE 会影响该页在浏览器中的呈现方式。请参阅以下标题为“XHTML 和 DOCTYPE 切换”的一节。 根元素必须引用 XHTML 命名空间。
XHTML 页的开始 标记必须指定默认命名空间 http://www.w3.org/1999/xhtml。
所有元素和属性名都必须小写
XML 区分大小写。因此,在 标记和 标记之间存在差异。只有前者是有效的 XHTML 段落标记。
属性值必须始终放在引号内。
确保始终将属性值放在双引号或单引号中。
您可以通过选择菜单选项 Tools、Options、Format,将 Visual Studio .NET 2005 和 Visual Web Developer 配置为自动将属性值放在引号内。
所有具有开始标记的非空元素都必须具有匹配的结束标记。
如果具有开始 标记,则必须包含结束 标记来标记段落的结束。对于根本不包含任何内容的标记,例如 标记,可同时提供开始和结束标记 ,也可以使用空元素简写。
为使 XHTML 页与现有的 HTML 浏览器向后兼容,需要小心处理打开和关闭标记的方式。例如,现有 HTML 浏览器倾向于将开始和结束 标记错误地解释为两个 元素。因此,您应当使用空元素简写。
此外,除非您小心地在结束斜杠之前添加一个空格,否则现有 HTML 浏览器在处理空元素简写时会出现问题。因此,应当使用 [space] />(而不是)向页中添加 元素。
不得存在重叠标记。
可以使标记嵌套,但是不允许使标记重叠。
不得存在属性最简化。
所有属性都必须具有值,即使该值看起来有一点儿奇怪。例如,标记是无效的 XHTML,因为 checked 属性不具有值。该标记应当写成。
必须使用 id 属性而不是 name 属性。
在 HTML 中,可以使用 name 属性来标识。
Web 标准的一个额外好处是 — 使 Web 站点更易于为残疾人士访问。这是一个范围广泛的受众群体,包括视力衰退的中年人士,刚刚在滑雪时跌断胳膊的人士,以及完全失明的人士等。使用标准可避免无意中阻止那些具有暂时性或永久性身体残疾的人士访问 Web 页。
对于生成满足公共 Web 标准的 Web 站点而言,Microsoft ASP.NET 2.0 框架是最佳的框架。特别强调的是,ASP.NET 2.0 框架中的每个控件都按照 XHTML 和可访问性标准进行了全面的检查和测试。此外,Microsoft Visual Studio .NET 2005 还包含一些新工具,用于按照 XHTML 和可访问性标准验证 Web 页。
本文的目的是为您提供有关 XHTML 和可访问性标准的概述,并说明如何利用 ASP.NET 2.0 和 Visual Studio .NET 2005 来满足这些标准。在本文的结尾,将分步演练以下功能,即创建能够同时满足 XHTML 和可访问性标准的 ASP.NET 2.0 Web 站点。
生成 XHTML Web 站点 HTML 在正式的场合已经过时了。World Wide Web Consortium (W3C) 于 2000 年 6 月 26 日发布了 XHTML 的第一个版本作为推荐标准。XHTML 标准的目标是取代 HTML。按照 W3C 的说法,“XHTML 是 HTML 的继承者”(http://www.w3.org/MarkUp/)。
XHTML 标准的制定者具有两大目标:
1 在文档结构和表示形式之间创建更明显的分离。
2 将 HTML 重新表示为 XML 的应用程序。
为了实现第一个目标,W3C 一直在坚定地从 HTML 中删除纯粹描述性的元素和属性(他们是从 HTML 4.0 开始这一过程的)。例如,XHTML 1.0 Strict 不包含诸如 标记之类的元素或诸如 bgcolor 属性之类的属性,因为这些元素和属性完全用于描述文档的外观,它们与文档的结构没有任何关系。
W3C 一直在努力使 Web 站点设计人员和开发人员摒弃特定标记应当具有特定外观这一观念。例如,您可能会认为
标记(标题标记)的用途是在页中呈现大的加粗文本。这实际上是错的。 标记用来在文档中标记标题而不是其他任何东西。如何呈现标题标记由浏览器确定。视力衰退的人士使用的屏幕阅读器可能利用抑扬顿挫的声音来大声朗读标题标记的内容。不支持多个字体大小的 PDA 可能用闪烁文本呈现标题标记的内容。
您不应当试图使用诸如标记之类的页元素来控制 Web 页的外观。相反,您应当通过使用层叠样式表来指示 Web 页的外观。而且,您所使用的层叠样式表应当是外部 层叠样式表。请使用标记和属性来标记文档的结构,而使用样式表来控制文档的表示形式。
XHTML 的第二个目标是迫使 HTML 开发人员遵守更为严格的 XML 规则。按照 W3C 的说法,“XHTML 1.0 是 HTML 4.01 的作为 XML 1.0 应用程序的修订”(http://www.w3.org/MarkUp/)。换句话说,使用 XHTML 生成 Web 页时,实际上是在创建 XML 文档。
XML 文档具有比 HTML 文档更严格的语法。例如,XML 区分大小写,所有 XML 属性都必须放在引号内,而且 XML 标记不能重叠。强迫 Web 站点开发人员和设计人员遵守有更高要求的语言规则有很多好处。
好处之一,用 XHTML 标记编写的页具有更高的跨浏览器、跨设备和跨操作系统兼容性。如果在浏览器中打开传统的 HTML 页,浏览器将千方百计地呈现该页。浏览器将试图呈现该页,即使您的 HTML 一团糟。例如,Internet Explorer(以及 Firefox 和 Opera)能够很好地显示下面的 HTML 页。
this is bold and italic and this is bold
Internet Explorer 会恰当地显示该页 — 即使该页缺少 和 开始标记, 标记不具有匹配的结束标记,并且开始和结束 标记的大小写不一致。所有主要的浏览器都能适应几乎任何 HTML 标记“混合物”,并且不顾一切地呈现一些内容。
浏览器的这种适应行为是危险的,因为不同的浏览器(或相同浏览器的将来版本,或在不同操作系统上运行的相同浏览器)可能以不同方式呈现错乱的 HTML。实际上,对于最新版本的 Internet Explorer、Mozilla Firefox 和 Opera 而言,它们呈现无效 HTML 的方式惊人地一致。但是,一旦开始违反游戏规则,就不会得到任何保证。
然而,如果用 XHTML 的更严格的规则编写 Web 页,那么 Web 页就更有可能以一致的方式与当前浏览器协作,并且它们将继续与当前浏览器的未来新版本协作。对于任何公司而言,几乎都不具备针对每个浏览器、在每个操作系统和每个设备上测试其 Web 站点的资源。如果按照 Web 标准编写页面,那么就不必具有这样的资源。XHTML 标准的版本有三个版本的 XHTML 1.0,它们分别对应三个版本的 HTML 4.01:? XHTML 1.0 Transitional ? XHTML 1.0 Strict ? XHTML 1.0 Frameset
XHTML 1.0 Transitional 包含 HTML 4.01 Transitional 中的全部标记和属性。引入 XHTML 1.0 Transitional 标准的目的是,使现有 HTML 设计人员和开发人员无需经历太多的痛苦就能迁移到 XHTML。
XHTML 1.0 Strict 与 XHTML 1.0 Transitional 的不同之处在于,它在文档结构和表示形式之间实施了一种更为明显的分离。与 XHTML 1.0 Transitional 不同,XHTML 1.0 Strict 强迫您使用层叠样式表来控制页的外观。
XHTML 1.0 Frameset 文档意在成为使用 标记将浏览器划分为多个框架的文档(XHTML 1.0 Transitional 和 Strict 页不能包含 标记)。
W3C 还发布了 XHTML 1.1 以作为推荐标准(2001 年 5 月 31 日)。XHTML 1.1 非常类似于 XHTML 1.0 Strict。二者的主要区别在于,可以用附加模块扩展 XHTML 1.1 以便支持新元素。例如,可以生成特定的 XHTML 1.1 页,该页还包含 MathML(数学标记语言)、SVG(可伸缩向量语言)或创建的自定义模块中的元素。
最后,W3C 正在制订 XHTML 2.0 推荐标准。因为 XHTML 2.0 仍然处于起草阶段,并且当前没有 Web 浏览器支持该标准,所以我们不在本文讨论它。
ASP.NET 2.0 框架和 Visual Studio .NET 2005 面向 XHTML 1.0 Transitional。该标准是 XHTML 标准中限制性最低的,而且它是与现有 HTML 页最兼容的标准。但是,还可以生成面向 XHTML 1.0 Strict 标准甚至 XHTML 1.1 标准的 ASP.NET 2.0 页(请参阅后面的“配置 XHTML 一致性”一节)。
(请注意,默认情况下,ASP.NET 框架的 Beta 2 版本面向 XHTML 1.1。 ASP.NET 2.0 框架的最终版本将面向 XHTML 1.0 Transitional。)
创建 XHTML 页
与 HTML 页不同,XHTML 页必须是标准格式且有效的 XML 文档。XHTML 1.0 推荐标准的第 4 部分对 HTML 和 XHTML 之间的区别进行了总结。这里给出生成有效 XHTML 页的最重要需求的列表:
页必须包含有效的 XHTML DOCTYPE。
有效的 XHTML 页必须在其任何内容之前包含一个 XHTML DOCTYPE。当在 Visual Studio .NET 2005 或 Microsoft Visual Web Developer 中创建新的 ASP.NET 页时,该页中将自动包含 XHTML 1.0 Transitional 的正确的 DOCTYPE。下面列出四个标准的 XHTML DOCTYPE:
XHTML 1.0 Transitional
XHTML 1.0 Strict
XHTML 1.0 Frameset
XHTML 1.1
向页中添加 DOCTYPE 会影响该页在浏览器中的呈现方式。请参阅以下标题为“XHTML 和 DOCTYPE 切换”的一节。 根元素必须引用 XHTML 命名空间。
XHTML 页的开始 标记必须指定默认命名空间 http://www.w3.org/1999/xhtml。
所有元素和属性名都必须小写
XML 区分大小写。因此,在 标记和 标记之间存在差异。只有前者是有效的 XHTML 段落标记。
属性值必须始终放在引号内。
确保始终将属性值放在双引号或单引号中。
您可以通过选择菜单选项 Tools、Options、Format,将 Visual Studio .NET 2005 和 Visual Web Developer 配置为自动将属性值放在引号内。
所有具有开始标记的非空元素都必须具有匹配的结束标记。
如果具有开始 标记,则必须包含结束 标记来标记段落的结束。对于根本不包含任何内容的标记,例如 标记,可同时提供开始和结束标记 ,也可以使用空元素简写。
为使 XHTML 页与现有的 HTML 浏览器向后兼容,需要小心处理打开和关闭标记的方式。例如,现有 HTML 浏览器倾向于将开始和结束 标记错误地解释为两个 元素。因此,您应当使用空元素简写。
此外,除非您小心地在结束斜杠之前添加一个空格,否则现有 HTML 浏览器在处理空元素简写时会出现问题。因此,应当使用 [space] />(而不是)向页中添加 元素。
不得存在重叠标记。
可以使标记嵌套,但是不允许使标记重叠。
不得存在属性最简化。
所有属性都必须具有值,即使该值看起来有一点儿奇怪。例如,标记是无效的 XHTML,因为 checked 属性不具有值。该标记应当写成。
必须使用 id 属性而不是 name 属性。
在 HTML 中,可以使用 name 属性来标识。
建立一份新的aspx页面,在aspx.cs里的page_load里加上如下代码...然后保存,访问一下...就可以看到服务器推送模式的效果了...
protected void Page_Load(object sender, EventArgs e)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "multipart/x-mixed-replace;boundary=--TempString--";
HttpContext.Current.Response.StatusCode = 200;
HttpContext.Current.Response.Write("");
HttpContext.Current.Response.Write("--TempString--\r\n");
HttpContext.Current.Response.Flush();
while (HttpContext.Current.Response.IsClientConnected)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Write("date : " + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "\r\n");
HttpContext.Current.Response.Write("--TempString--\r\n");
HttpContext.Current.Response.Flush();
Thread.Sleep(1000);
}
}
protected void Page_Load(object sender, EventArgs e)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "multipart/x-mixed-replace;boundary=--TempString--";
HttpContext.Current.Response.StatusCode = 200;
HttpContext.Current.Response.Write("");
HttpContext.Current.Response.Write("--TempString--\r\n");
HttpContext.Current.Response.Flush();
while (HttpContext.Current.Response.IsClientConnected)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Write("date : " + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "\r\n");
HttpContext.Current.Response.Write("--TempString--\r\n");
HttpContext.Current.Response.Flush();
Thread.Sleep(1000);
}
}






