一、数据绑定语法

数据绑定表达式包含在“<%#”和“%>”分隔符之内,并使用Eval方法和Bind方法。Eval方法用于定义单向(只读)绑定,Bind方法用于定义双向(可更新)绑定。

语法格式:<%#Eval("字段名") %>

     <%#Bind("字段名") %>

<%#绑定表达式 %> 不仅可以绑定数据源,而且可以绑定简单属性、集合、表达式,甚至从方法调用返回结果。

二、数据绑定表达式出现的位置

1.可以将数据绑定表达式包含在服务器控件或者普通的HTML元素的开始标记中,作为属性名和属性值对的值。eg:

<asp:TextBox ID="TextBox1"  runat="server" Text='<%#数据绑定表达式%>'></asp:TextBox>

此时数据的绑定表达式可以是一个变量,也可以是一个带返回值的C#方法,也可以是某个控件的某个属性的值,也可以是C#对象的某个字段或者属性的值等。当然也可以直接就是一个字符串。

如果此时的数据绑定表达式是Eval("数据库中某个表的某个字段")等,那么必须把TextBox1放在某个循环显示的控件的模板中才正确,否则会提示:“Eval()、XPath()和Bind()这类数据绑定方法只能在数据绑定控件的上下文中使用",意思是要把TextBox1放在像Repeater、DataList、GridView这样的控件的模板中。

2.数据绑定表达式可以包含在页面中的任何位置。

如果此时的数据绑定表达式是Eval("数据库中某个表的某个字段")等,那么必须把<%#绑定表达式1 %>、<%#绑定表达式2 %>...放在像Repeater、DataList、GridView这样的控件的模板中。

3.可以将数据绑定表达式包含在JavaScript代码中,从而实现在JavaScript中调用C#的方法。

三、数据绑定表达式类型

1.绑定变量。变量可以作为数据源来提供数据。注意,这个变量必须为公有字段或受保护字段,即访问修饰符为public或protected。eg:<%#变量名%>

2.绑定服务器控件的属性值,可以是服务器控件的属性值。

3.绑定方法。有返回值的方法可以作为数据源来提供数据。语法格式为:<%# 方法名(参数表)%>

4.绑定数组对象。数据对象可以作为数据源来提供数据。语法格式为:<%# 数据名 %>

5.绑定集合或列表列表控件、GridView等服务器控件可用集合作为数据源,这些控件只能绑定到支持IEnumerable、ICollection或IListSource接口的集合上。常见的是绑定ArrayList、Hashtable、DataView和DataReader。语法格式为:<%# 集合名 %>

6.绑定表达式。语法格式为:<%# 表达式 %>

7.绑定数据表的字段。字段可以是用Eval取得的数据表的字段,相当于数据库中某个表或者视图中的一行记录,而一行可以有多列。

注意:如果数据绑定表达式作为属性的值,只要数据绑定表达式中没有出现双引号,那么<%# 数据绑定表达式 %>的最外层用双引号或者单引号都可以。如果数据绑定表达式中出现双引号,则<%# 数据绑定表达式 %>的最外层最好要用单引号。

最新文章

  1. OneThink开发框架
  2. js保留位和取整
  3. WCF binding的那些事!!!
  4. js学习-DOM之动态创建元素的三种方式、插入元素、onkeydown与onkeyup两个事件整理
  5. Android 开源项目分类汇总
  6. POJ1118 Lining Up
  7. 第一章 CLR的执行模型
  8. makefile的简单写法
  9. DevExpress LookUpEdit 初始化(数据加载) 底层类
  10. db2 存储过程迁移方法
  11. setTimeout与setInterval的区别
  12. 关于UIView及其子类重绘drawRect
  13. 虚拟机联网及远程连接-Linux基础环境命令学习笔记
  14. Unix 的缺陷 - 王垠
  15. C语言 &gt; 字符串和字符串函数
  16. oracl之导入dmp文件
  17. Div+Css实现段落首行缩进两个字符(text-indent标签)
  18. Java的变量相关
  19. Sn.exe(强名称工具)
  20. ASP.NET Web API(C#)学习01

热门文章

  1. 重叠io操作
  2. Linux文件排序工具 sort 命令详解
  3. 【小梅哥SOPC学习笔记】NIOS II工程目录改变时project无法编译问题
  4. SpringCloud教程 | 第四篇:断路器(Hystrix)(Finchley版本)
  5. logback 配置详解——logger、root
  6. Unity3D 之PC客户端的分辨率自定义
  7. Eclipse无法正常创建android工程解决方法!
  8. Linux基础实验(一)
  9. Crash的数字表格
  10. OCP 12c最新考试原题及答案(071-3)