快速业务通道

深入ASP.NET数据绑定(上)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
的分析,我们把目光集中绑定代码上。假设现在页面上有这 么一段Repeater绑定代码:

1: <asp:Repeater runat="server" ID="repeater">
2:     <HeaderTemplate>
3:         <table>
4:             <tr>
5:                 <td>
6:                      ID
7:                 </td>
8:                  <td>
9:                     电流{a}
10:                  </td>
11:                  <td>电 压(V)</td>
12:                 <td>
13:                      备注''
14:                 </td>
15:                  <td>
16:                     名称]
17:                 </td>
18:             </tr>
19:     </HeaderTemplate>
20:     <ItemTemplate>
21:         <tr>
22:             <td>
23:                 <%# Eval("ID")%>
24:              </td>
25:             <td>
26:                  <%# Eval("电流{a}")%>
27:             </td>
28:              <td><%# Eval("电压(V)")%></td>
29:              <td>
30:                 <%# Eval("备注''")% >
31:             </td>
32:             <td>
33:                 <%# Eval("名称]")%>
34:              </td>
35:         </tr>
36:     </ItemTemplate>
37:     <FooterTemplate>
38:         </table>
39:     </FooterTemplate>
40: </asp:Repeater>

那么在动态类中,相应的会有这样的一段函数,是用来创建ID为repeater的控件实例:

1: [DebuggerNonUserCode]
2: private Repeater __BuildControlrepeater()
3: {
4:     Repeater repeater = new Repeater();
5:     base.repeater = repeater;
6:     repeater.HeaderTemplate = new CompiledTemplateBuilder(new BuildTemplateMethod(this.__BuildControl__control4));
7:     repeater.ItemTemplate = new CompiledTemplateBuilder(new BuildTemplateMethod(this.__BuildControl__control5));
8:      repeater.FooterTemplate = new CompiledTemplateBuilder(new BuildTemplateMethod (this.__BuildControl__control7));
9:     repeater.ID = "repeater";
10:     return repeater;
11: }
12: 
13: 

CompiledTempateBuilder和BuildTemplateMethod只是模板实例化的一个中介,真正用于添加模板内容 的是后面的那些私有函数,如ItemTempate的模板内容实例的创建就在__BuildControl__control5函数中 ,这个函数原型定义是:

1: [DebuggerNonUserCode]
2: private void __BuildControl__control5(Control __ctrl)
3: {
4:     DataBoundLiteralControl control = this.__BuildControl__con

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号