编程技巧 - 文章列表

  • Asp.Net MVC:打造表单验证框架(2)

    题外话:为了不再误解,关于造轮子的事情在本篇开头再次重点提出,如果您觉得再造轮子的人是傻瓜,那直接无视我以及我的附带品好了.本文的重点并不是做了一个验证框架,真要如此,直接给出代码不就结了,或者直接来篇如何使用DataAnnotations即可,何必长篇大论来一通,如果认真看了本文就可以知道本文是讲解了如何使用TDD的方法来实现一个验证框架,同时尽可能做到通俗易懂,当然,这并不是说本文造的轮子就没有价值了,别人的总是别人的,验证框架并不是一个很复杂的东西,一个人做出一个完善的也不是什么难事,也许在某些时候土炮就比洋炮好用也说不准,最后,希望各位手下留情. 说了一通废话,下面开始正文了,本

  • 浅谈ASP.NET内部机制(八)

    浅谈ASP.NET内部机制(八)前言:之前几篇文章写了有关视图的知识,也讲述了如何实现IStateManager接口。本篇将讲解如何实现自定义转换器。当然了,有大量的代码演示!本篇算是有关视图机制的终结篇,还会讲解有关ControlStatel控件状态的实现。有个小插曲,其实之前我已经把文章写了一大半,不知道怎么回事,IE出了问题,自动关闭了,真是心痛阿,现在得重写一遍。我想每个写博文的朋友都有这样的经历吧,写一篇文章真的很不容易!在上篇中,我们讲解了如何在一个自定义控件中保存自定义类的属性,我现在再次把代码贴出来,免得大家去翻页。Code\nusing System;using System

  • ASP.NET自定义控件:实现分页功能的DataList(10)

    1. 引言在ASP.NET中DataList可以实现数据展示,我们可以通过定制其模版实现丰富的格式,但是美中不足的时DataList默认情况下不支持分页,我们当然可以编写一个用户控件以实现分页功能,但是这种方案仍然不是很好,我们希望像使用普通ASP.NET服务器端控件一样,只需要放置一个DataList并设置分页样式就可以输出分页链接。 \n在上次任务中我们创建了DataPager类将创建分页的操作从GridView分离出来,本次任务将尝试重用DataPager类为DataList增加分页特性。 \n2. 分析开发自定义GridView控件时,可以通过向控件中加入具有特定CommandName

  • 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页

    ASP.NET 3.5中新增加的ListView控件是一个用于页面数据绑定和界面布局的非常棒的控件,它在ASP.NET 2.0 GridView的基础上做了很多改进,用户在使用时可以控制的元素更多,开发时的灵活性更大了,个人觉得ListView在使用时比DataGrid和GirdView更加顺手。ListView控件本身并没有分页功能,不过借助于ASP.NET中新增加的DataPager控件,我们可以非常方便地对ListView中的数据设置分页,这几乎不需要开发人员写一行代码,将ListView控件放到页面上,设置好布局和DataSource,然后再添加一个DataPager控件,将它的Pag

  • Asp.Net Mvc:浅析TempData机制

    环境:\nWindows 2008, VS 2008 SP1, Asp.Net Mvc 1.0\n——————————————————————————\n一. Asp.Net Mvc中的TempData\n在Asp.Net Mvc框架的ControllerBase中存在一个叫做TempD

  • ASP.NET实例:ASP.NET生成报表统计图

    信息系统大多会涉及到数据的统计,如数据的导出及生成统计对比图等,记得之前有一次要生成一个统计图在WEB页面上显示,那时也是在网上找了段Code,完全是一点点画横纵轴坐标上面的画出来的,而且出来的效果也一般。最近项目的需要又有类似的要求,当然也知道随VS08一起免费发布的绘图组件功能很强大,那绘图组件要下载安装,说是只支持.NET3.5(没试验过),不过园子里我看到了飛雪飄寒 的一篇博客(http://www.dwww.cn/news/2008-7/2008719174287721.shtml ),只需引用一个dotnetCHARTING.dll,而且对于.NET1.1到.NET3.5都适用,在

  • Asp.Net网站开发中Cookie的应用

    搞开发都好几年了,突然有那么一天发现居然对cookie这个玩意是只知其然不知其所以然。 于是乎,发奋图强,找了一堆资料,深入研究了一番。这里,自己作了一下总结,列举出来,与大家共享。\n1. cookie为何物cookie实质上就是:网站存放在用户机器上的一小块文本信息。一旦浏览器接受到cookie,浏览器会把cookie的信息片段以”键/值”对的形式保存在本地.这以后, 当浏览器运行时,每次向同一服务器发送请求的时候,Web浏览器都会发送站点以前存储在本地的cookie.\n2. Cookie的成分\nname: 每个cookie由一个唯一的名称代表,这个名称可以

  • asp.net网站中Cookies安全性实践

    首先,你要相信网络是不安全的,TCP协议也是不安全的。HTTP访问是基于TCP协议来完成的,其能够被攻击是一定的。\n跨站脚本攻击一直是Web上常见的手段之一,攻击一般是劫持用户会话,拿到私有的钥匙。如何劫持这个会话呢?\n一、Sniffer(这里采用的软件是Sniffer,java版的那个)\nSniffer监听会话是不可护的,就和KOF里拉尔夫的宇宙幻影一样,只要打中,一定是致命的。上图,就是一组侦听数据,当然这里侦听的是我本机的数据。实际上是可以侦听局域网,甚至广域网上的数据。\n得到一组16进制的值。可以用以下代码获得其值:\nCodestring bytestr = “&

  • DiscuzNT中使用Silverlight进行多文件上传

    注:本文的HTM页面均位于Discuz.Web项目中,大家可以到官方下面最终的程序。在去年我曾写过一篇文章:“推荐一个Silverlight多文件(大文件)上传的开源项目”。之后有不少朋友询问这个项目示例在开发和配置上的一些问题。当时因为时间有限没有做过多的说明,导致有些问题在大家下载完源码之后运行时才出现。今天就以这个项目为原型,简要介绍一下在DiscuzNT上是如果在该项目基本上,通过完善权限管理,文件大小控制,添加缩略图效果等功能来大体阐述一下如果开发一个真正的silverlight应用,而不是一个简单的DEMO.当然本文中所列出的源码是通过reflector获取并添加相应注释的。最终的

  • c#与算法:快速排序算法(实例)

    快速排序 是采用递归的方式对待排序的数列进行若干次的操作,每次操作使得被操作的数列部分以某个元素为分界值分成两部分,一部分小于该分界值,另一部分大于该分界值.该分界值一般被称为”枢轴”.以数列 14,11,25,37,9,28 为例,详细描述执行一趟快速排序的算法:1,选择待排序数列的枢轴,一般以数列的首元素作为枢轴.此数列中,我们选择首元素14作为枢轴,nPivot = 14.2,设定两个指针 i 和 j ,分别指向数列的首元素和尾元素. i 指向首元素14, j 指向尾元素28.示意图如下:3,向前移动尾指针 j ,使其指向从数列尾部算起首个小于枢轴(即14)的元素