ASP.NET实现数据绑定
一、数据绑定语法
数据绑定表达式包含在“<%#”和“%>”分隔符之内,并使用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取得的数据表的字段,相当于数据库中某个表或者视图中的一行记录,而一行可以有多列。
注意:如果数据绑定表达式作为属性的值,只要数据绑定表达式中没有出现双引号,那么<%# 数据绑定表达式 %>的最外层用双引号或者单引号都可以。如果数据绑定表达式中出现双引号,则<%# 数据绑定表达式 %>的最外层最好要用单引号。
ASP.NET实现数据绑定的更多相关文章
- 【转】ASP.NET常用数据绑定控件优劣总结
转自:http://www.cnblogs.com/Olive116/archive/2012/10/24/2736570.html ASP.NET常用数据绑定控件优劣总结 本文的初衷在于对Asp ...
- ASP.NET常用数据绑定控件优劣总结
本文的初衷在于对Asp.net常用数据绑定控件进行一个概览性的总结,主要分析各种数据绑定控件各自的优缺点,以便在实际的开发中选用合适的控件进行数据绑定,以提高开发效率. 因为这些数据绑定控件大部分都已 ...
- ASP.NET 前端数据绑定---<%#%>及Eval()的使用
ASP.NET 前端html代码中会经常出现的<%%>的代码,里面的文本其实就是不能直接输出到客户端浏览器的文本,是需要服务器解释的. 在ASP中,<%%>里面的文本是vbsc ...
- ASP.Net之数据绑定
---恢复内容开始--- [概述]数据绑定是指从数据源获取数据或向数据源写入数据.简单的数据绑定可以是对变量或属性的绑定,比较复杂的是对ASP.NET数据绑定控件的操作 1.简单的属性绑定 基于属性的 ...
- 027. asp.net中数据绑定控件之 GridView控件
GridView控件支持下面的功能: 绑定至数据源控件, 如SqlDataSource 内置排序功能 内置更新和删除功能 内置分页功能 内置行选择功能 可以编程方式访问GridView对象模型以动态设 ...
- ASP.NET中数据绑定表达式
今天谈下.NET中的数据绑定表达式.数据绑定表达式必须包含在<%#和%>字符之间.格式如下: <tagprefix:tagname property='<%# data-bin ...
- 《ASP.NET》数据绑定—DataList实践篇
上篇文章大概讲了DataList的一些基础知识,掌握这些知识在将来的应用中起到非常大的作用,如今我们就開始讲上篇文章中说的基础知识做一个小样例. 首先,我机子的数据库中有一张person表.例如以下图 ...
- 《ASP.NET》数据绑定—DataList
DataList控件是.NET中的一个控件.DataList控件以表的形式呈现数据(在属性生成器中能够编辑),通过该控件,您能够使用不同的布局来显示数据记录(使用模板编辑).比如,将数据记录排成列或行 ...
- ASP.NET LinqDataSource数据绑定后,遇到[MissingMethodException: 没有为该对象定义无参数的构造函数。]问题。
问题出现的情形:LinqDataSource数据绑定到DetailsView或GridView均出错,错误如下: “/”应用程序中的服务器错误. 没有为该对象定义无参数的构造函数. 说明: 执行当前 ...
随机推荐
- Joomla3x-CKEditor4x-WordPaster整合示例
1.1. 集成到Joomla_3.4.7-ckeditor4x 资源下载:Joomla 3x, 1.1.1. 添加wordpaster文件夹 路径:/media/wordpaster/ 1.1 ...
- opencv常用函数备忘
//显示图片 IplImage * src = cvLoadImage("xx.JPG"); cvNamedWindow(); cvShowImage("show_ima ...
- 关于linq to sql调用存储过程,出现"无法枚举查询结果多次"的问题
DBML: [Function(Name="dbo.p_GetStudyStageSubjectGroup")] public ISingleResult<STUDYSTAG ...
- HBASE的优化、hadoop通用优化,Linux优化,zookeeper优化,基础优化
HBase 的优化3.1.高可用在 HBase 中 Hmaster 负责监控 RegionServer 的生命周期,均衡 RegionServer 的负载,如果Hmaster 挂掉了,那么整个 HBa ...
- c3p0-数据库连接池原理
一直用c3p0很久了,但也没时间或没主动去研究过,直到最近频频在出现一些莫名其妙的问题,觉得还是有必要了解和研究一下. c3p0是什么 c3p0的出现,是为了大大提高应用程序和数据库之间访问效率的. ...
- 设置ArcGIS地图文档的数据源为相对路径
ArcGIS中默认情况下,地图文档的数据源路径为绝对路径.在这种情况下,如果移动/拷贝地图文档及其数据源后,再次打开地图文档时,就看不到具体图层数据了(图层列表中图层前有“!”图标,并且无法查看图层数 ...
- windows8.1 windows defender service无法启动解决方案
分析:当pc安装第三方杀毒软件,比如360杀毒,这时候360会强制关闭mse杀毒服务,无法在服务栏目里启动.由于windows defender service是系统强制启动进程,无法在系统启动后进行 ...
- RobotFramework的Setup和Teardown
测试套件级别的Setup会在本套件测试用例集合执行前先执行,同理Teardown会在本组所有用例执行完成后运行 测试用例级别的Setup会在本条测试用例执行前先执行,同理Teardown会在本条用例执 ...
- BZOJ3638|CodeForces 280D k-Maximum Subsequence Sum
题目链接:戳我 一类典型模型.线段树模拟网络流+区间最大K段和. 因为不会写,所以参考了黄学长的博客.但是我觉得他说得不够详细,所以想好好地解释一下: 前置技能1:区间最大子段和 如果K=1的时候怎么 ...
- leetcode 16. 3Sum Closest JAVA
题目: 给定一个包括n个整数的数组nums和一个目标值target.找到nums中的三个整数,使得他们之和与target最为接近.返回三个整数之和,假定每组输入只存在唯一答案 解题思路: 将nums数 ...