博文

笑话精选(一)(2011-05-17 22:16:00)

摘要: 1、老妈刚到家,我在厨房做饭。妈:“今天出去玩了没?”我:“没有,我……”还没说完。妈:“这么脏,今天怎么没洗澡啊?”我:“不是说明天洗吗?”妈:“看你那小尾巴脏的!”我:“……”我回头才看见老妈这跟小狗说话。 2、今天中午陪一小兄弟的老婆逛街。她看中了一款1799元的皮夹克,打电话给她老公说想买。她老公特温柔的说:“亲爱的,你喜欢就买吧,你高兴就行”然后她老公又特温柔的问跟谁在一起,一听是我说是要问候一下。这女人就把电话给我了。我刚说了一句喂,就听到兄弟颤抖的声音说:“姐,帮我想法拦住那个女人” 3、我一好朋友a男,追求一外校女生一年多,美女终于短信告知答应与其交往,此时正在上课,那兄弟高兴地乐翻了,,老板看出了他的异样就问他笑什么,a当然不承认,老板果断的将他手机没收,查看信息……半天悠悠的说挺厉害啊,把我姑娘追到手了,a巨汗,这么快就见到丈母娘了…… 4、宠物会认为它是你生的吗?跟帖1:会的,我家狗固执的认为它是我妈生的……,它想问我妈要好吃的就撒娇,问我要吃的就会用它的破玩具换,一般用拖鞋,破抹布之类的……。跟帖2:我家的狗正相反,它认为它才是主人,我们都是寄居在它家的,房子、车子都是它的。跟帖3:我家狗每次睡觉都要和我躺一个枕头,紧挨着我后背,有时我翻身就能看到一张大脸和我四目相对。 5、早晨起来,发现我家狗狗站在我床边,头埋在我被子里,站着睡着了,据分析它本来是来叫我起床的…… 6、一哥们失恋,每天都很心痛,5天以后发展为整个胸口都很痛,经常打电话给我说失恋太难受了什么的。但是疼了十天了还是疼,我们一直都以为这次失恋对他打击太大了,也没有理他。直到单位体检的时候才知道他是得了肺炎。 7、在食堂吃早饭,茶叶蛋剥到最后一点,蛋从手里滑掉眼睁睁的看她滚了好几米远,无可奈何的又跑到窗口买了一个。回到位子上发现稀饭被宝洁阿姨收走了。然后我就去买了瓶红茶,一开盖子,中了“再来一瓶”,放在宿舍,中午回来没了,一问是被仍了,我只好又去买了一瓶,打开,又中了,喝完在瓶子上贴一标签“此瓶中奖不要丢”。隔日发现瓶子还在,瓶盖没了。 8、一哥们在银行上班,刚工作,柜员,打电话诉苦:今天碰到一老太太,非要投诉我,说我长得丑,害得她把密码忘了。 9、我们寝室小d刚谈了女朋友,特别可爱,导致小d回寝室时间渐渐推迟,常常是快关门了才回来。锁门的大妈每次看见他,都......

阅读全文(1761) | 评论:0

HtmlHelper解析 (二)(2011-05-05 13:59:00)

摘要:1.表单   使用HtmlHelper的扩展类FormExtensions来生成Form,这里重点介绍BeginForm方法,它有13个重载方法,通过重载方法为表单添加属性,像action,method,id,enctype等属性。下面我们用其中一个方法来生成表单:   view plaincopy to clipboardprint?00.<%using(Html.BeginForm("action","controllName", FormMethod.Post)){ %>  00.        <%} %>     生成结果     view plaincopy to clipboardprint? 00.<form action="/controllName/action" method="post"></form>       2.表单元素   a.来看一下InputExtensions类中的一些生成元素的常方法,其中每个方法都有重载方法:  • CheckBox方法: 返回复选框 input 元素  •        Hidden方法:返回隐藏的 input 元素  •        Password方法:返回密码 input 元素  •  RadioButton方法:返回用于呈现互斥选项的单选按钮 input 元素  •  TextBox方法:返回文本 input 元素        直接上例子:     view plaincopy to clipboardprint? 00.<%using (Htm......

阅读全文(3714) | 评论:0

HtmlHelper解析与View (一)(2011-05-05 13:56:00)

摘要:一、   HtmlHelper类位于System.Web.Mvc.Html下,主要由以下扩展类组成:   关于扩展方法的学习:http://msdn.microsoft.com/zh-cn/library/bb383977.aspx 二、mvc页面继承自:System.Web.Mvc.ViewPage<T>     view plaincopy to clipboardprint? 01.<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>      由于mvc页面默认继承自System.Web.Mvc.ViewPage<T>,所以我们需要了解一下这个类 看下所在位置:   这个类中的属性比较多,会包括一些由下面(controller)传上来的数据,一些缓存值了等等,关于这个类的详细信息可以查看:http://msdn.microsoft.com/zh-cn/library/system.web.mvc.viewpage.aspx 在这个类中介绍两个属性:ViewData,Html 1.ViewData 是一个ViewDataDictionary类型的属性,是由键,值对组成的,其作用就是传递数据,来个例子:   曾经在HomeController中写过的index方法,把一个符串放入ViewData中,然后在view/home/index.aspx中显示出来       view plaincopy to clipboardprint? 01.//HomeController中的index方法  02.public ActionResult Index()  03.{  04.     //给view赋值  05.     ViewData["data"] = "Hello MVC";  06......

阅读全文(3314) | 评论:0

《卧龙吟》(2011-05-01 17:42:00)

摘要:《卧龙吟》(电视剧《三国演义》插曲) 作词:王健 作曲:谷建芬 演唱:戴建明 束发读诗书,修德兼修身; 仰观与俯察,韬略胸中存; 躬耕从未忘忧国,谁知热血在山林; 凤兮,凤兮,思高举,时乱势危久沉吟; 茅庐承三顾,促膝纵横论; 半生遇知己,蛰人感幸甚; 明朝携剑随君去,羽扇纶巾赴征程; 龙兮龙兮风云会,长啸一声抒怀襟; 归去,归去,来兮,我宿愿,余年还做垅亩民; 清风明月入怀抱,猿鹤听我再抚琴。 天道常变异,运数杳难寻; 成败在人谋,一诺竭终悃; 丈夫在世当有为,为民播下太平春; 归去,归去,来兮,我宿愿,余年还做垅亩民; 清风明月入怀抱,猿鹤听我再抚琴。     俗话说“心乱则音噪,心静则音纯,心慌则音误,心泰则音清。”因此,音乐心境可预知人的肺腑~     聆听了《卧龙吟》的两个版本(影视原声、古琴曲),其表现手法与演奏手法有所不同。原唱的前奏为古琴独奏,悠然如水,泰然自若,为主唱作出了极好的铺垫,曲文充满强烈的抒情性和主观性,借歌词抒爱国忧民之情,令人感受到了诸葛亮手捧羽扇于林中的儒雅,龙卧于山林的无奈,还有志在天下的壮志豪情,或许“宁静以致远,淡泊以明志”算是一种超脱。歌者演绎出一种广袤深远的意境,乐曲中透着悠远的沧桑与不一样的悲伤,不禁让人感慨万千,一切评价都显得苍白无力,清微淡远的弦乐中显其飘逸、沉郁、通脱之风格,可谓千古绝唱。     古琴曲《卧龙吟》的韵味与意境所追求的是一种静远淡逸、返朴归真的境界,这种境界的至极之处是只可意会不可言传,正所谓“弦外之音”、“韵外之致”、“味外之旨”,其意境之空灵跌荡与禅之直抒性灵竟不谋而合,如月之曙如气之秋,抚平了人们的浮躁不安,用一种接近铅笔线条所描绘出来的音乐语法,写出沉淀之后才能完全洞悉喧嚣背后的寂静空间。这首古琴曲的配器相当有表现力,箫独奏的悠远一如丞相的忧思……编曲与和声很精细考究,曲调悠悠切切、恣意飘渺,声音像是从遥远的天边缓缓飘来,渐渐在我们身边萦绕,这是一种静态的美,使人感受到中国文化之深远,甚是上乘之作。 ......

阅读全文(1820) | 评论:0

IEnumerable与IEnumerator区别(2011-04-29 22:30:00)

摘要:public interface IEnumerable {     IEnumerator GetEnumerator(); }   public interface IEnumerator {     bool MoveNext();     void Reset();       Object Current { get; } }   IEnumerable和IEnumerator有什么区别?这是一个很让人困惑的问题(在很多forum里都看到有人在问这个问题)。研究了半天,得到以下几点认识:   1、一个Collection要支持foreach方式的遍历,必须实现IEnumerable接口(亦即,必须以某种方式返回IEnumerator object)。   2、IEnumerator object具体实现了iterator(通过MoveNext(),Reset(),Current)。   3、从这两个接口的用词选择上,也可以看出其不同:IEnumerable是一个声明式的接口,声明实现该接口的class是“可枚举(enumerable)”的,但并没有说明如何实现枚举器(iterator);IEnumerator是一个实现式的接口,IEnumerator object就是一个iterator。   4、IEnumerable和IEnumerator通过IEnumerable的GetEnumerator()方法建立了连接,client可以通过IEnumerable的GetEnumerator()得到IEnumerator object,在这个意义上,将GetEnumerator()看作IEnumerator object的factory method也未尝不可。 IEnumerator   是所有枚举数的基接口。           枚举数只允许读取集合中的数据。枚举数无法用于修改基础集合。   ......

阅读全文(2145) | 评论:0

.Net IList、ICollection、IEnumerable辨析(2011-04-29 22:29:00)

摘要:祖宗:IEnumerable 此接口只有一个方法 GetEnumerator(); 是FrameWork为了实现迭代器模式设计的接口。所有继承了IEnumerable的类,要使用foreach迭代器时,就需要使用该方法。因此也只有实现了该接口的类才可以使用foreach。 ICollection继承自IEnumerable,IList继承自ICollection 这两个接口都是为了给集合提供一些公用的方法。只是分了两个层次,IList比ICollection多几个方法,增加,移除成员。可以简单理解为:ICollection主要针对静态集合;IList主要针对动态集合。 IList,ICollection,IEnumerable 在命名空间System.Collections中。 IList<T>,ICollection<T>,IEnumerable<T> 在System.Collections.Generic 命名空间中。 IList<T>,ICollection<T>,IEnumerable<T> 是2.0引入泛型以后新增的。主要是提高重用性与类型安全。 IEnumerable<T>继承自IEnumerable ICollection<T>继承自IEnumerable<T> IList<T>继承自ICollection<T> 因此可以完全使用泛型接口,而放弃使用ICollection和IList。泛型接口提供了更好的类型安全和编译时的检验。 补充:IEnumerable<T>和IEnumerable都只有一个方法。ICollection<T>和ICollection的结构是不一样的。ICollection<T>比ICollection多几个方法。它包含了几个IList中的几个方法。也许是对以前的改进。IListSource 接口通过实现 GetList 方法来公开用于数据绑定的 IList。 ......

阅读全文(3962) | 评论:0

C#来创建和读取XML文档(2011-04-29 09:55:00)

摘要:扩展标记语言XML(eXtensible Markup Language),是由W3C组织制定的。做为用于替代HTML语言的一种新型的标记语言,XML内部有着很多基本标准,XML就是通过与这些相关标准地结合,应用于科学计算、电子出版、多媒体制作和电子商务的。C#作为一种新型的程序语言,是.Net框架的一个重要组成部分,他和XML的关系颇深。本文就从一个方面来探讨一下这二者的关系。即:看用C#如何来创建和读取XML文档。 一. 本文程序设计和运行的软件环境: (一).微软公司视窗2000服务器版 (二)..Net FrameWork SDK Beta 2 二. C#创建XML文档: 在本文中我们来介绍一下用C#创建XML文档的二种方法,这二种方法各有千秋,第一种创建起来更灵活,第二种创建起来更方便。 (一).C#创建XML文档的第一种方法: 这一种方法是按照按照XML的结构一步一步的构建XML文档。C#构建XML文档通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的。下面就按照一个XML典型文档结构来介绍一下。 (1).首先要创建一个空的XML文档: 在命名空间"System.Xml"中有一个类"XmlDocument",C#通过这个类来描述XML文档。下面是用C#创建一个XML文档。 xmldoc = new System.Xml.XmlDocument ( ) ; (2).在XML的文档的最头部加入XML的声明段落: 利用"XmlDocument"类中的 "CreateNode" 方法可以创建一个指定类型的XML节点,"CreateNode" 方法的调用方法总共有三种,在本文中使用的其一般的方法,具体语法如下: XmlDocument.CreateNode Method ( XmlNodeType , String , String ) 然后在利用"XmlDocument"类中的"AppendChild"方法在XML文档中加入此节点,用C#在XML文档中加入声明段落实现的语句如下: xmlnode = xmldoc.CreateNode......

阅读全文(1783) | 评论:0

Attribute在.NET编程中的应用(三)(2011-04-27 12:07:00)

摘要:用于参数的Attribute 在编写多层应用程序的时候,你是否为每次要写大量类似的数据访问代码而感到枯燥无味?比如我们需要编写调用存储过程的代码,或者编写T_SQL代码,这些代码往往需要传递各种参数,有的参数个数比较多,一不小心还容易写错。有没有一种一劳永逸的方法?当然,你可以使用MS的Data Access Application Block,也可以使用自己编写的Block。这里向你提供一种另类方法,那就是使用Attribute。   下面的代码是一个调用AddCustomer存储过程的常规方法: public int AddCustomer(SqlConnection connection,   string customerName,   string country,   string province,   string city,   string address,   string telephone) {    SqlCommand command=new SqlCommand("AddCustomer", connection);    command.CommandType=CommandType.StoredProcedure;    command.Parameters.Add("@CustomerName",SqlDbType.NVarChar,50).Value=customerName;    command.Parameters.Add("@country",SqlDbType.NVarChar,20).Value=country;    command.Parameters.Add("@Province",SqlDbType.NVarChar,20).Value=province;    command.Parameters.Add("@City",SqlDbType.NVarChar,20).Value=city;   ......

阅读全文(1737) | 评论:0

Attribute在.net编程中的应用(二)(2011-04-27 12:06:00)

摘要:.NET Framework中对Attribute的支持是一个全新的功能,这种支持来自它的Attribute类。在你的程序中适当地使用这个类,或者是灵活巧妙地利用这个类,将使你的程序获得某种在以往编程中很难做到的能力。我们来看一个例子: 假如你是一个项目开发小组中的成员,你想要跟踪项目代码检查的信息,通常你可以把代码的检查信息保存在数据库中以便查询;或者把信息写到代码的注释里面,这样可以阅读代码的同时看到代码被检查的信息。我们知道.NET的组件是自描述的,那么是否可以让代码自己来描述它被检查的信息呢?这样我们既可以将信息和代码保存在一起,又可以通过代码的自我描述得到信息。答案就是使用Attribute. 下面的步骤和代码告诉你怎么做: 首先,我们创建一个自定义的Attribute,并且事先设定我们的Attribute将施加在class的元素上面以获取一个类代码的检查信息。 using System; using System.Reflection; [AttributeUsage(AttributeTargets.Class)] //还记得上一节的内容吗? public class CodeReviewAttribute : System.Attribute //定义一个CodeReview的Attribute { private string reviewer; //代码检查人 private string date; //检查日期 private string comment; //检查结果信息 //参数构造器 public CodeReviewAttribute(string reviewer, string date) { this.reviewer=reviewer; this.date=date; } public string Reviewer { get { return reviewer; } } public string Date { get { return date; } } public string Comment { get { ret......

阅读全文(1662) | 评论:0

Attribute在.net编程中的应用(一)(2011-04-27 12:06:00)

摘要:Attribute的基本概念经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行。实际上在.Net中,Attribute是一个非常重要的组成部分,为了帮助大家理解和掌握Attribute,以及它的使用方法,特地收集了几个Attribute使用的例子,提供给大家参考。 在具体的演示之前,我想先大致介绍一下Attribute。我们知道在类的成员中有property成员,二者在中文中都做属性解释,那么它们到底是不是同一个东西呢?从代码上看,明显不同,首先就是它们的在代码中的位置不同,其次就是写法不同(Attribute必须写在一对方括符中)。 什么是Atrribute 首先,我们肯定Attribute是一个类,下面是msdn文档对它的描述: 公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。 在.NET中,Attribute被用来处理多种问题,比如序列化、程序的安全特征、防止即时编译器对程序代码进行优化从而代码容易调试等等。下面,我们先来看几个在.NET中标准的属性的使用,稍后我们再回过头来讨论Attribute这个类本身。(文中的代码使用C#编写,但同样适用所有基于.NET的所有语言) Attribute作为编译器的指令 在C#中存在着一定数量的编译器指令,如:#define DEBUG, #undefine DEBUG, #if等。这些指令专属于C#,而且在数量上是固定的。而Attribute用作编译器指令则不受数量限制。比如下面的三个Attribute: Conditional:起条件编译的作用,只有满足条件,才允许编译器对它的代码进行编译。一般在程序调试的时候使用。 DllImport:用来标记非.NET的函数,表明该方法在一个外部的DLL中定义。 Obsolete:这个属性用来标记当前的方法已经被废弃,不再使用了。 下面的代码演示了上述三个属性的使用: #define DEBUG //这里定义条件 using System; using Syst......

阅读全文(1538) | 评论:0