易截截图软件、单文件、免安装、纯绿色、仅160KB

揭秘ASP.NET 2.0的Eval方法

来源:http://www.pccode.net/info/2010/01/25/20100125-1220.html
实际上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  fromwork   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。  
     看来不摸清楚GetDataItem()方法,我们也很难明白Eval的原理。GetDataItem的实现也很简单:
 
public   object   GetDataItem()  
{  
     if   ((this._dataBindingContext ==  null) || (this._dataBindingContext.Count == 0))  
     {  
       &nbs


相关文档:

asp.net结合html,javascript实现无刷新跨域数据提交

需求:
A域有页面a.html,其中有iframe包含B域的页面b.html,现在要通过a.html上的一个按钮,来把a.html页面上一个文本框的值传递到b.html页面的文本框。
注:这里b.html是html网页,不能接收其他网站post过来的值,所以不能用直接post的方法来传值,但是,如果接收页面是b.aspx或者b.asp 呢,那不是可以直接post了么?答 ......

一个asp.net的生成曲线图的过程

这里是从Dataset里的数据生成曲线图.
我的Dataset是从表Sendrec里读取的数据,分别有Id,Sendid(订单号),Sendtime(记录时间),Sendnum(单位时间发送量/我这里是五分钟)几个字段
过程如下:
public void draw(Page page,DataSet ds,int Tnum){}
其中page是用来传递引用这个过程的页面,这样让页面是JPG方式直接向客户端输出生 ......

Javascript 在ASP.net 母板页下访问 控件ID:

Javascript 在ASP.net 母板页下访问 控件ID:
对于 html control : 直接访问ID
document.getElementById("hfRespondID");
对于 Web control :
document.getElementById("<%= this.hfRespondID.ClientID %>") [注意大小写
]     
     &nb ......

脚本(JS)关闭窗体(ASP.NET)

关闭窗体 
  1.
      this.btnClose.Attributes.Add("onclick",  "window.close();return false;");
  2.关闭本窗体间跳转到另一个页面
      this.HyperLink1.NavigateUrl = "javascript:onclick=window.opener.location.assign
        ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号