不是问Bind有什么用或怎么用哦,也不是问Eval和Bind区别
我知道Eval是Page从TemplateControl继承的方法,但是一直找不出Bind是谁的方法,
难道只是一个“特殊标记”?.Net根据“特殊标记”生成代码?
我知道Eval是Page从TemplateControl继承的方法,但是一直找不出Bind是谁的方法,
难道只是一个“特殊标记”?.Net根据“特殊标记”生成代码?
解决方案 »
- 100分求助:dropdownlist数据绑定后选择下拉列表后返回的值不变或为空
- 高分求两个Asp.net正则表达式
- 我的文本框出现了一个奇怪的问题!
- 提交记录有问题,就是记录全填可以,部分提交就不成功
- castle问题
- 急问window.SetTimeOut()问题
- 如何在treeview后面增加多个checkbox
- 在dataList中,为什么要点击按钮两次,才显示选定项?
- 如何能使一个类的实例只能通过的别的方式来获取而不能new实例化获取?
- calender时间控件 和 DTPicker时间控件?
- iis虚拟目录中浏览aspx文件出错,asp.net+Sql 发布安装环境
- 请教一下购物网站的问题
现在问题是Page并不实现ITypeComp接口,如何能在页面调用到Bind方法呢
<%#Container.DataItem%>
<%#GetDataItem()%>
<%#Eval("字段名")%>
<%#DataBinder.Eval(Container.DataItem,"字段名")%>
<%#((DataRowView)Container.DataItem)["字段名"] %>
<%#((Type)Container.DataItem).成员 %>
<%#((Type)GetDataItem()).成员 %>
而支持双向绑定表达式是因为它实现了IBindableTemplate接口。
而支持双向绑定表达式是因为它实现了IBindableTemplate接口。 // bind()
就继承了IBindableTemplate接口,从而实现bind()方法.
“在双向数据绑定表达式中使用Bind()方法来显示值” 244页
示例下面的代码示例演示 FormView 控件如何以声明方式进行以下操作:定义模板化内容,绑定到 SqlDataSource 控件提供的数据,显示和编辑现有记录。ASP.NET 分析器对模板化内容进行分析,并在运行时创建 IBindableTemplate 对象,该对象能够将 SqlDataSource 控件中的值绑定到模板中定义的数据绑定区域,该区域由单向 ASP.NET 数据绑定语法 (<%# Eval("fieldname") %>) 和双向数据绑定语法 (<%# Bind("fieldname") %>) 共同定义。
public virtual ITemplate EditItemTemplate { get; set; }
bind()也许认为是一种语法更为恰当,msdn:"双向数据绑定语法 ( <%# Bind("fieldname") %>) "。
但是可以肯定一点的是通过IBindableTemplate接口实现的。
如果再细抠,可能Allen_Chen_说的"通过属性实现的"。
等高人吧!
Bind 与Eval 不一样,这样的Bind 并不Page 或TemplateControl 的一个方法,事实上我们应该把它当成一个关键字来看待,因为在ASP.NET 的双向数据绑定当中,并没有这样的一个函数存在,它的存在是只是告诉ASP.NET 动态编译页面类时,将这个语法编译成一定的代码格式,并生成一些函数代理来达到双向数据交流的目的。