摘要: 这个题目,我姑且这样叫吧,照例,我们先来分析一下需求。比如有一个设置密码的功能,但用户希望能够自己选择密码的加密算法,如MD5、HMAC、SHA1等,然后程序会根据用户所选择的算法对密码进行加密并存入数据库,同时在配置文件中记录下用户的选择。按照一般的思路,我们可能会做一个分支判断,如switch( 用户的选择 ){ case "MD5": MD5 md5 = MD5.Create();.............. break; ...........}呵呵,其实我们不必要这样做,来,先来看看MD5... 阅读全文
posted @ 2012-01-15 11:54 东邪独孤 阅读(355) 评论(0) 推荐(0)
摘要: 先说说需求,也就是我们要达到的效果,希望扩展按钮控件,增加一些属性,但同时我们希望默认事件仍使用Click事件,不过,在事件参数中,我们希望能够传递更多的信息,而不是Button.Click默认的参数。当然,我们首先要写一个自定义的事件参数,为了简单起见,我们的自定义按钮控件,增加一个TagNumber属性,它传递一个整型数据,当我们处理控件的Click事件,能够从事件参数类实例中取得我们在这个属性中设置的值,因此,我们需要一个MyButtonClickAgre,它从EventArgs类派生。 /// <summary> /// 自定义事件参数类。 /// </summary 阅读全文
posted @ 2012-01-14 21:26 东邪独孤 阅读(324) 评论(0) 推荐(0)
摘要: LINQ查询表达式的子句如select,where,from等都是比较简单的子句,相信各位多练习练习,再结合MSDN的例子,基本上是可以理解的,因此,本文只挑几个有代表性的,以及有些难理解的子句来简述一下。一、where子句。在SQL中,筛选语句常用的表示方式如“select * from Users where uName = 'DMIN'”,这个SQL语句就带有WHERE子句,其实,在LINQ中也类似,只不过放的位置不一样。请看下面的例子。 int[] Source1 = new int[] { 10, 50, 22, 38, 91, 17 }; ... 阅读全文
posted @ 2012-01-12 21:57 东邪独孤 阅读(303) 评论(0) 推荐(0)
摘要: 为了能让初学者更快速地掌握,在系列文章中,我尽可能地避开理论讲解,一则对于入门者来说,过多的理论叙述反而会降低大家学习编程的兴趣,二则,官方文档的资料很详细,我说了也是废话。因此,我会尽可能地多举些简单的例子,让初学者能够看得懂,呵呵,当然了,学习LINQ,还得有一定C#语法基础。上一篇文章中我们讨论了最简单的LINQ语法,也是最基本的语法和表达式编写结构,本文我们就来谈一谈几个重要的概念。一、查询三步曲。创建和使用LINQ,有三个必备的步骤:1、Get——数据从哪里来?得到数据源;2、Create——创建查询表达式,这是核心;3、Execute——执行查询,并得到相应结果。好的,我们下面按照 阅读全文
posted @ 2012-01-09 21:31 东邪独孤 阅读(237) 评论(0) 推荐(0)
摘要: 关于LINQ(语言集成查询)是.NET 3.5和Visual Studio 2008以上版本中引入的一种有趣的全新概念,语言版本有VB和C#,由于C#与.NET平台结合最为紧密,也是MS当初首推的语言,因此,本系列文章的示例代码都使用C#。MSDN上资料非常详细和完备,所以,我也不打算讲得过于详尽,再说,网上也有不少博文都阐述过LINQ,如果我还炒冷饭,就有抄袭之嫌。其实,很多时候我们不必要到处去搜,到处去问人,MSDN上的参考文档已经很优秀了,而且还有多语言版本,也请了牛B人物进行人工翻译,所以说啊,咱们.NET开发者是非常幸运的,一来有VS这个世界级领先的开发工具(目前不好的一点是性能,据 阅读全文
posted @ 2012-01-08 17:55 东邪独孤 阅读(223) 评论(0) 推荐(0)
摘要: 这几天忙着一些小事,也没有写什么了,今天,我们来玩一个比较简单的东东。就是在MVC下如何返回图片,相信,在传统WebForm下,大家都晓得怎么弄,方也不限于一种,但是,在架构较为严格的MVC里面,刚开始接触的朋友,可能不太清楚如何实现。首先,我们应当从控制器入手,昨天有位朋友问我,控制器一般不都是return View的吗?那怎么返回图片? 当然,Controller类也没有return Image 的,上次我们的例子是返回JSON,其实我们可以让其返回一个文件流,一开始我也想过使用ViewData,但这个在视图页面上只能通过服务器端代码来操作,如果希望用JS,就不那么好办了。Controll 阅读全文
posted @ 2012-01-07 09:28 东邪独孤 阅读(570) 评论(0) 推荐(0)
摘要: 我为啥称之为“动态数据模板”?先看看下面的截图,今天,我们就是要实现这种功能。大概是这样的,我们定义的DataTemplate是通过触发器动态应用到 ComboBoxItem 上。这个下拉列表控件绑定了一个Person集合,Person类的定义如下: public class Person { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } public override string... 阅读全文
posted @ 2012-01-03 08:41 东邪独孤 阅读(298) 评论(0) 推荐(0)
摘要: 声明:本教程是误人子弟的,如果你想成为高手,那千万不要往下读。在ASP.NET 的WebForm中,你可能发现实现AJAX很简单,因为.NET类库都为你准备好了UpdatePanel控件,用该控件来实现AJAX就等于一行代码都不用写。然而,在MVC里面,几乎所有的服务器控件都失效了,那怎么办呢?用传统的JS代码的话又会很复杂,呵呵,放心,别忘了,当下jQuery是很流行的,做WEB开发自然是少不了JQ,虽然严格上说,它是提供给前台的网页设计人员使用的,但对于AJAX,我们不妨也用上它。今天,我们一起来做一个简单的玩意儿,通过JQ来实现在MVC框架下的AJAX功能吧。1、新建一个ASP.NET 阅读全文
posted @ 2012-01-02 11:01 东邪独孤 阅读(296) 评论(0) 推荐(0)
摘要: 今天,有位群友问我如何获新浪新闻列表相关问题,我想,用正则表达式网页中取显然既复杂又不一定准确,现在许多大型网站都有RSS集合,所以我就跟他说用RSS应该好办一些。一年前我写过一个RSS阅读器,不过,打新浪相关的XML文件看了一下,发现RSS2.0 和一年前的不大一样了,但具体怎么处理,几句话也很难讲得清楚,所以,我干脆写了一个类库给他,直接调用。类库不是很复杂,主要两个功能:一、通过新浪的根频道XML在把所有频道的信息读出来,使用递归连同子节点也读取出来。二、指定频道URL的XML文件来获取新闻信息。首先,我们写两个类,一个用于保存新闻个息,另一个用于保存频道信息。 /// <summ 阅读全文
posted @ 2011-12-30 16:55 东邪独孤 阅读(332) 评论(0) 推荐(0)
摘要: 前面的内容,我们用简单的方法就创建了一个手写板示例,下面,我们再来做一个更为复杂一点的手写板程序。示例程序有两个选项:选择“书写”可以进行手写输入,选择“擦除”,可以去掉不必要的部分,类似橡皮擦的功能。并且,还可以选择笔触颜色。 首先就是放一个InkCanvas控件,相信都没问题,很简单。 <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="auto"/> </Grid.RowDefinitio 阅读全文
posted @ 2011-12-26 21:42 东邪独孤 阅读(453) 评论(0) 推荐(0)