博文

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

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

阅读全文(1676) | 评论: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 元素

阅读全文(3632) | 评论: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. ......

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

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

摘要:《卧龙吟》(电视剧《三国演义》插曲)

作词:王健 作曲:谷建芬 演唱:戴建明



束发读诗书,修德兼修身;
仰观与俯察,韬略胸中存;
躬耕从未忘忧国,谁知热血在山林;
凤兮,凤兮,思高举,时乱势危久沉吟;

茅庐承三顾,促膝纵横论;
半生遇知己,蛰人感幸甚;
明朝携剑随君去,羽扇纶巾赴征程;
龙兮龙兮风云会,长啸一声抒怀襟;
阅读全文(1720) | 评论:0

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

摘要:public interface IEnumerable
{
    IEnumerator GetEnumerator();
}
 
public interface IEnumerator
阅读全文(1983) | 评论: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。 ......

阅读全文(3883) | 评论: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 Met......

阅读全文(1697) | 评论: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;
&......

阅读全文(1660) | 评论: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......

阅读全文(1583) | 评论: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; usin......

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