🎄 Merry Christmas! 🎅

Edi Wang

Microsoft MVP for Azure

Posts in October 2011

ASP.NET List泛型分页代码

2011.11.13修正: 1. 改正页数计算方法,以前的计算公式遇到整除就会多一页 2. 重发关键代码,以前因为编辑器的原因,部分代码会被过滤 3. 新增“转到[]页”功能 我们以前做ASP.NET网站,通常是把DataSet绑定到显示控件上,再用各种手段进行分页,比如PagedDataSource。然而,如果你是从业务层取数据,通常是一个List,这个时候就不能用以往的方法分页了。 一种办法是用ObjectDataSource,绑定GridView、ListView就可以分页,但如果遇到DataList或Repeater,就得自己写分页了。下面是我昨天写的List泛型分页Demo,有图有真相: 下面发代码: List泛型分页通用类: /// /// 泛型分页类 /// /// 类型 public class ListPager : List { …
ASP.NET Generics

ASP.NET中URL重写和Session冲突的问题

今天在改博客系统的一个Bug的时候,程序里用了Session,结果一跑就报错:只有在配置文件或 Page 指令中将 enableSessionState 设置为 true  时,才能使用会话状态。还请确保在应用程序配置的<configuration>\<system.web>\<httpModules>节中包括  System.Web.SessionStateMod 或自定义会话状态模块。然而用VS自带的Web Server调试一点问题都没有。唯独在IIS下跑的时候老报错,错误语句就是那行用了Session的程序。唯一的区别就是VS下调试时,URL没有重写。于是我回到IIS上,用完整的URL试了下,果然木有问题。 我所使用的是URLRewriter.dll,似乎是当年微软提供的,经过一番查找,似乎有很多人和我有同样的问题,不管他们用的是不是URLRewriter.dll。 奇怪的是,并不是 …
ASP.NET Session URL

C#仿魔兽世界密保卡OOP重构版

昨天下午我把《C#仿魔兽世界密保卡简单实现》 中的代码用面向对象的方法重构了一遍,引入了2个类:MatrixCard和Cell。MatrixCard描述的是密保卡,构造函数中会随机生成一个二 维矩阵,所以每次new一个MatrixCard对象,就已经生成了一张密保卡。Cell是单元格的意思,将行号、列号、列名做了封装。 MatrixCard类中保留了之前的大部分静态方法,以便灵活调用。由于本人水平有限,这次的设计并不是非常完美,并且也有一些遗憾。比如现在只能通过Cell[i]的方式来访问单元格,而不可以像Cell["A0"]这样写。有空的时候哥去研究一下重载索引器,争取把它实现。下面发代码:MatrixCard类:using System; using System.Collections.Generic; namespace GeekStudio.Common {    …
C# Refactor

C#仿魔兽世界密保卡简单实现

昨天拿C#写了个简单的密保卡程序(Console的,偷懒了一下 哈哈),实现了随机生成5x5矩阵卡、转换为字符串、从字符串读取矩阵卡以及简单验证的功能。不过我写的比较草率,代码结构不是很好,也没有体现OOP的思想,这几天有空会重构一下。先把代码发出来:public class MatrixCardManager      {          public static int[,] ReadMatrixCardFromString(string matrixStr)          {              int[,] arr1 = new int[5, 5];              int[] tempArr = new int[25];              int k = 0;              string[] tempArrStr =  …
C#