用户名: 密码: 免费注册 忘记密码? 网站地图 | 加入收藏 | 设为首页
首页 | 新闻 | 工具 | 系统 | 办公 | 聊天 | 多媒体 | 网页 | 运营 | 平面 | 欣赏 | 数据库 | 程序 | 服务器 | 组网
网页 | 3dmax | Ghost | Windows Xp| Dreamweaver | photoshop | Flash | office | Alexa | Css | QQ | Asp | PHP | Jsp | Access
Flash MX 2004入门 | 网站推广策略 | CorelDRAW入门 | ASP学习 | 网站建设大师功 | Word入门
  iTbulo.com > 学院 > 程序开发教程 > ASP.net教程 > Asp.Net开发技巧 > 文章正文
揭秘ASP.NET 2.0的Eval方法
iTbulo.COM 2006-4-3 赛迪博客()

实际上Eval方法是TemplateControl的,而System.Web.UI.Page和System.Web.UI.UserControl都继承于TemplateControl,所以我们可以在Page和UserControl上直接调用个方法。

Page.Eval方法可以帮助我们更好的撰写数据绑定表达式,在ASP.NET 1.x时代,数据绑定表达式的一般形式是:

<%# DataBinder.Eval( Container , “DataItem.Name”) %>

而在ASP.NET 2.0中,同样的代码,我们可以这样写:

<%# Eval( “Name” )%>

ASP.NET 2.0是怎么实现的呢?我们先从Eval方法来研究,通过反射.NET Framework 2.0类库的源代码,我们可以看到这个方法是这样实现的:

protected internal object Eval(string expression)

{

this.CheckPageExists();

return DataBinder.Eval(this.Page.GetDataItem(), expression);

}

第一行我们不必管,这是检查调用的时候有没有Page对象的,如果没有则会抛出一个异常。

关键是第二行:

return DataBinder.Eval(this.Page.GetDataItem(), expression);

Page.GetDataItem()也是2.0中新增的一个方法,用途是正是取代ASP.NET 1.x中的Container.DataItem。

 

[1] [2] [3] 下一页

文章搜索
相关资讯
相关文章 相关下载
没有相关文章
焦点信息