您的位置:首页 > 编程语言 > ASP

Asp.Net一种更加优雅的数据绑定方法

2011-01-31 16:08 190 查看
数据绑定是asp.net页面开发过程中经常需要运用的技术,通常的做法是利用Eval(),DataBind()等方法将后台对象的属性与前台页面绑定,但是这样做有以下三个很明显的缺点:

1)前台语法形式复杂,不方便

2)无法自由拼接想要的字符串。必须在后台为适应前台的显示额外定义属性,不合理。

3)无法享受智能提示

最近在网上看到了一篇文章,里面介绍了一种数据绑定的方法,在此推荐一下。

首先声明一个静态类,定义扩展方法。

public static class Helper

{

  static object ExpHelper<TEntity,TResult>(Page page, Func<TEntity,TResult> fun)

  {

    var itm = page.GetDataItem();
   return func((TEntity)itm);

  }

  public static object Eval<T>(this Page page,Func<T,object> fun)

  {

    return ExpHelper(page,fun);

  }

}

在页面中就可以

<%#this.Eval<Student>(_ => _.Name + "(" + _.Age + ")")%>


注意this是必须的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: