ASP.NET 3.5 MVC体验与实战
### ASP.NET 3.5 MVC中的GridView控件开发 #### 一、自定义GridView控件开发 在ASP.NET 3.5 MVC框架中,开发者可以根据实际需求创建自定义的GridView控件,这些控件通常用于展示数据库中的数据,并提供如排序、分页、编辑和删除等功能。为了实现这样的功能,可以通过在`HtmlHelper`类中添加扩展方法来完成。 #### 二、扩展方法概述 ##### 1. 扩展方法的概念 在.NET Framework 3.5及其后续版本中,C#引入了一种名为“扩展方法”的新特性。这种特性允许开发者为已有的类型(如类、结构或接口)添加新的方法,而无需修改原始类型的代码或重新编译。这对于扩展.NET框架中的现有类库非常有用,例如为`HtmlHelper`类添加额外的功能。 ##### 2. 定义扩展方法 定义扩展方法需要遵循以下规则: - **静态类**:扩展方法必须位于静态类中。 - **静态方法**:扩展方法本身也必须是静态的。 - **关键字`this`**:扩展方法的第一个参数前必须加上关键字`this`,用于指定被扩展的类型。 例如,下面是一个简单的扩展方法示例: ```csharp static class MyExtensions { public static void DisplayAssembly(this object obj) { Console.WriteLine("{0} lives here: {1}", obj.GetType().Name, Assembly.GetAssembly(obj.GetType())); } public static int ReverseDigits(this int i) { char[] digits = i.ToString().ToCharArray(); Array.Reverse(digits); string newDigits = new string(digits); return int.Parse(newDigits); } } ``` 在这段代码中,`DisplayAssembly`和`ReverseDigits`方法都是扩展方法。前者用于打印出对象所在的程序集,后者用于反转整数的数字顺序。 ##### 3. 使用扩展方法 使用扩展方法有两种方式:一种是直接通过关联类型的实例对象调用;另一种是通过静态类名调用。 **直接通过关联类型的实例对象调用** ```csharp int myInt = 12345; myInt.DisplayAssembly(); System.Data.DataSet d = new System.Data.DataSet(); d.DisplayAssembly(); Console.WriteLine("Value of myInt: {0}", myInt); Console.WriteLine("Reversed digits of myInt: {0}", myInt.ReverseDigits()); ``` 在这个例子中,`myInt`和`d`分别调用了`DisplayAssembly`和`ReverseDigits`方法。 #### 三、HTMLTextWriter类概述 在ASP.NET MVC中,`HTMLTextWriter`类提供了向HTTP响应流写入HTML标记的功能。它是自定义控件开发过程中常用的一个工具类,可以帮助开发者生成符合HTML标准的输出。 #### 四、GridView控件开发 在ASP.NET 3.5 MVC中,通过创建自定义的GridView控件,可以更加灵活地控制数据的展示形式。自定义GridView控件通常需要实现以下功能: - **排序**:允许用户点击表头来对数据进行升序或降序排列。 - **分页**:当数据量较大时,可以分页显示,提高用户体验。 - **编辑和删除操作**:提供对数据的增删改查操作。 为了实现上述功能,可以在`HtmlHelper`类中添加相应的扩展方法。例如,可以创建一个扩展方法用于生成GridView所需的HTML代码,并支持上述各种功能。 通过这种方式,开发者不仅能够利用.NET框架的强大功能,还能够在不改变原有代码的情况下轻松扩展功能,极大地提高了开发效率和灵活性。

























剩余22页未读,继续阅读


- 粉丝: 0
- 资源: 14
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源


