asp.net源码下载:ASP.NET数据绑定代码
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/27 07:09:46 ASP.NET
数据绑定似乎是ASP.NET老掉牙的东西了。可是你知道吗,只需要一点小小的改动就可以替换Eval,摆脱字符串依赖并且大大提高性能。
首先在code behind中加入以下方法
protected virtual object ExpHelper
假设我们定义了学生类
public class Student{ public string Name { get; set; } public int Age { get; set; }}如果希望在页面中使用强类型访问学生类而不是用Eval,定义专门访问学生的方法
protected object Stu
- <%#Stu(_=>_.Name + "(" +_.Age+")")%>
得到编译时检测
享受智能提示
强类型转换比Eval反射性能更高
页面中的表示更丰富,如上我们可以自由拼接想要的字符串,非常像MVC
更神奇的是可以支持多层嵌套哦。比如我们定义学生的集合Group类和访问器,然后就能用嵌套的Repeater显示分组信息了。完整程序如下
<%@ Page Language="C#" AutoEventWireup="true"%> html>
<%--单层--%>- <%#Stu(_=>_.Name + "(" +_.Age+")")%>
-
- <%#Stu(_=>_.Name + "(" +_.Age+")")%>
本文是我以前写的没有发表的小发明,现在拿出来晒,主要是因为这个方法好像知道的人很少。希望大家能帮助测试一下性能,如果觉得合适大可以运用到实际工作中。
更新:
感谢Dacey 韦恩卑鄙 dudu老大等人的建议
我已添加了扩展方法版本。喜欢扩展方法这种空降兵的感觉。
现在只要添加一个static的帮助类,名字随你喜欢
public static class Helper{ static object ExpHelper
<%#this.Eval
扩展方法具有很好的粘合性
不需要一个父类定义通用方法
泛型提供多个副本并且容易看清类型
另外能很好的支持refactor,大家试试用ctrl+r+r改属性名
ASP.NET