编程技巧 - 文章列表

  • Asp.net实例:用Email地址登录网站

    现今,很多Web2.0网站都使用Email地址作为登录用户名,其有如下优点:\n1. 不易重复。用户名经常会重复,导致用户不得不在多个网站之间使用多种不同的用户名,不易记忆和管理;而Email地址具有唯一性。\n2. 易于记忆。用户常用的Email地址一般不会超过三个,所以即使忘记了是哪一个,也能很快试出来。\n3. 不易被破解。用户名在网站中通常都是对所有人可见的,这就会导致一些别有用心的人关注某个特定用户,骗取或暴力破解其账户;而Email地址在网站中通常都是保密的,在不知道某人的Email地址之前,破解就无从谈起,极大地提高了账户安全性。\n有些网站采

  • ExtJs的.NET控件—-TabContainer和TabPanel

    TabContainer通常是与TabPanel控件配合使用的,目前很多控件库以及控件产品里基本都有这两个控件,标准控件里虽然没有,在ASP.NET AJAX里已经提供了这两个控件,用他们可以很方便的来定制选项卡级的开发。但是不同的控件都有他的优点和不足之处。比如ASP.NET AJAX里的我个人觉得界面效果太难看了,即使使用CSS也不好控制开发的灵活性不够好;如果说看界面我觉得RadControls这一套控件产品的效果很好,皮肤有近20套,开发的灵活性也比较高,但是此控件的缺点则是运行太慢,会不间断的下载皮肤所需要的图片文件。相比之下,ExtJS的TabContainer和TabPanel我

  • Asp.net提交验证方案(上)

    以前在学习Asp.net时备受困扰的就是提交验证这块,网上流行的关于图片验证的教程大都存在很多问题,比如:\n验证码存储在页面代码或Cookies里,暴露给客户端;\n通过Session存储的验证码,虽然解决了安全问题,但一个用户只使用一个变量存储验证码,假如用户同时打开一个以上的页面,分别提交的话,就无法正常使用了;\n验证码不会过期,这会留下隐患,使暴力破解变得可行(当然也可以通过刷新间隔、提交间隔、黑名单等手段加以控制);\n此外还有伴随着提交产生的另一个问题——重复提交。\n为解决上述问题,我曾走过不少弯路,后来总结出了一个方案可以很好的解决这些问题,本文将结合ADO.NET Enti

  • Asp.net技巧:数据库操作类(C#)

      ASP.NET中一般都是使用SQL Server作为后台数据库。一般的ASP.NET数据库操作示例程序都是使用单独的数据访问,就是说每个页面都写连接到数据库,存取数据,关闭数据库的代码。这种方式带来了一些弊端,一个就是如果你的数据库改变了,你必须一个页面一个页面的去更改数据库连接代码。第二个弊端就是代码冗余,很多代码都是重复的,不必要的。因此,我试图通过一种一致的数据库操作类来实现ASP.NET的数据访问,在我之前的文章.net数据库操作类(C#) 中已经简单总结了对数据库的操作,现在.net数据库操作类(C#) 的基础上进行了如下改进:1、添加了事务处理机制; 2、添加了SQL参数化

  • Asp.net实例:仿163网盘无刷新上传文件

    这个仿163网盘无刷新文件上传系统,并没有用使用.net的控件,完全的手工制作。前台基本上是静态的,跟后台没有关系,所以后台用什么语言做都可以(例子中是用.net)。本来觉得这个系统会很复杂,但把每个部分都分析清楚后,其实需要的技术并不高。不过当我把各个功能函数都整理好准备进行封装时,却发现要把程序封装不是那么容易,因为程序跟html的耦合度太高。然后我逐步把程序中操作html相关的部分分离出来,首先把简单的分离,接着是文件列表,然后是file控件,最后是一些提示性程序。经过几次尝试才把整个结构封装好,现在程序结构应该算比较清晰,有什么不明白的地方欢迎留言。效果预览\nCode<form

  • Asp.net提交验证方案(Session版)

    Asp.net提交验证方案(上)Asp.net提交验证方案(下)此前我介绍了使用数据库实现的提交验证方案,一些朋友怀疑其效率不佳,认为Session是更好的方案。\n的确使用Session也不会消耗太多内存,而且如今内存白菜价,最不济就随手买个2G的插上也就够了,所以我将在此写下Session版的实现提要,其余细节参考前篇。\n实现方案简述:\n在Session中存储一个哈希表用以记录该用户的每一条验证信息,哈希表的键为验证信息的过期时间,值为验证码的明文。\n过期时间使用ViewState存储,以发给客户端,并在提交时获取,以读取对应的验证码明文。\n传给验证码生成页面的ID参数是经ToFi

  • FCKeditor(Asp.Net)的配置、扩展与安全性

    前言\nFCKeditor是使用非常广泛的HTML编辑器,本文从 ASP.NET 的使用场景对 FCKeditor 与 FCKeditor.NET 的配置、功能扩展(如自定义文件上传子目录、自定义文件名、上传图片的后期处理等)、以及安全性进行初步的阐述。\n希望能帮助有同样需求的同仁节省一点时间;也希望各位能指正其中的不足。谢谢。\n一、自定义 FCKeditor 的 BasePathBasePath 即FCKeditor在网站中的相对路径,默认值是 /fckeditor/,最好在Web.config appSettings中对其进行配置:\n<!–\nCode highli

  • ASP.NET实例:ASP.NET画图系列之实现Curve图(曲线图)

    ASP.NET画图系列之实现Curve图(曲线图),今天要实现的是Curve图,先看下效果:页面部分,还是和Pie一样\n<form id=”form1″ runat=”server”> <div> <asp:Image ID=”Image1″ runat=”server” /> </div> </form>\ncs代码:\nusing System.Drawing; //Bitmapusing System

  • Asp.net提交验证方案(下)

    接Asp.net提交验证方案(上)下面要对这个生成的“提交验证”类进行功能扩展,通过.Net的“部分类”或“扩展方法”技术都可以轻松实现,这里采用的是“部分类”技术:引用生成的ADO.NET Entity Framework数据模型的命名空间,且声明为部分类。\n书写静态构造函数及一个静态属性:static 提交验证()\n{过期时间差值=3;\n}\n/// <summary>\n/// 用于计算过期时间,单位为分钟\n/// </summary>\npublic static double 过期时间差值\n{get{return _过期时间差值;}set{_过期时间

  • Asp.net技巧:创建自定义验证控件(1)

    写一个创建自定义的控件的文章。帮大家了解如何写自定义验证控件。\n首先写个简单的,长度验证控件,大家在写用户注册的时候,很多时候需要验证用户密码长度在多少到多少之间。\n我们通过从BaseValidator类派生一个新的控件来创建新的验证控件。如名字所提示,BaseValidator类是所有验证控件的基类,BaseValidator类是一个抽象(abstract)类,他要求子类必须实现一个方法:\nEvaluateIsValid()———当被检验表单字段通过验证时返回True。\nBaseValidator类也包含一些其他的方法,可以重写(override)