首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> ASP.NET技巧 -> 通过数据捆绑将数据添加到ASP.NET 页面
通过数据捆绑将数据添加到ASP.NET 页面


文章类别:ASP.NET技巧 来源: 作者: 发表日期:2006-10-5 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

如果熟悉经典ASP,即使函数不相同,那么你也会很熟悉ASP.NET中的数据绑定语法。数据绑定的表达式是ASPX文件中<%# and %>中间的代码。它允许将数据绑定到控制器,同时也允许绑定属性、表达式和页面上方法调用的结果绑定到控制器。虽然这一特征很容易使用,但是有时在确定什么内容被允许绑定和是否它已经被使用的时候又造成一定的混乱。

数据绑定要素

当页面的ASP.NET中DataBind方法被调用的时候,数据绑定表达式与ASP.NET中的属性、服务器控制属性和数据源进行链接。在打开服务器控制的标签或页面上任何地方的时候,可以将表达式放在属性值/数值对的数值这一边。所有的数据绑定表达式,不管放在什么地方,都包含在<%# and %>字符中。

使用数据控制器的时候(Repeater, DataGrid等等),表达式的参数一般是数据源的列名。无论如何,只要它返回一个值,任何有效的表达式都是可以使用的。同样,相同的语法也可用于外部列表控制。这包括在页面上显示值或组装控制器属性。

Container.DataItem是DataItem针对某一特定细目在运行时的别名。它从数据源映射一个单独的细目,例如从数据查询中得到一行或从一个向量中得到一个单独的元素等。DataItem的实际数据类型由数据源确定。因此,当处理一个整型向量时,DataItem也是整型的。

下面的列表回顾了一些VB.NET的语法情况:

<%# Container.DataItem %>--返回字符串向量

<%# Container.DataItem("expression") %>--返回DataView 容器中的某一特定字段

<%# Container.DataItem.PropertyName %>--返回数据源中特定字符串的属性值

<%# CStr(Container.DataItem.PropertyName) %>--返回属性值并转化成字符串形式

使用C#时,语法稍微有些不同。下面的列表包含了与上面列表相应的C#代码。注意,基本的语法是一致的,但是在返回属性值和数据类型的转换时有变化。

<%# Container.DataItem %>

<%# ((DataRowView)Container.DataItem)["PropertyName"] %>

<%# ((ObjectType)Container.DataItem).PropertyName %>

<%# ((ObjectType)Container.DataItem).PropertyName.ToString() %>

当对页面的属性和方法进行作用时,语法是相容的。只要是返回字符串值,语法则完全相同。下面的列表给出了示例:

<%# propertyName %>--返回页面水平属性值

<asp:ListBox id="lstValues" datasource='<%# propertyName %>' runat="server">--返回与数据控制器绑定的页面水平属性值(向量、对象集等)

<%# (objectName.PropertyName) %>--显示页面水平对象属性值

<%# MethodName() %>--显示页面方法返回的值

使用下面的语法可以使用页面上的单个值(属性和方法返回的值等等)

<%= Value %>

Listing A中C#代码说明了在ASP.NET Web表格中的数据绑定。它从SQL Sever Northwind Employees表中挑选出了雇员的名字和电话号码。查询值通过ASP.NET Repeater控制器显示。列值通过数据绑定插入。表格的窗体标题通过方法调用组装。另外,Dataitem的ItemIndex性质用于显示行数。ItemIndex性质从0开始,在其显示之间会加1。

Listing B包含了等同的VB.NET代码。主要的不同之处在于VB.NET中使用圆括号而C#中使用方括号。而且行的投射在VB.NET中是不必要的。

使用Contain.DataItem有些沉闷,因为随时要注意数据类型和数据类型的转化。微软提供了DataBinder类,它可以进一步简化开发。

使用DataBinder

微软文档(MSDN)中详细解释了DataBinder类。此方法可以让RAD设计器轻易的产生解析数据绑定语法。此方法也可以用于Web窗体页面的声明简化从一种到另一类型的映射。

在ASP.NET页面中使用数据值时,可以使用DataBinder 类的Eval方法让.NET完成这个繁重的工作。Eval方法接受先前被覆盖的Container.DataItem对象;它计算出表达式中每一确定字段的详细数据并且将他们显示出来。其语法如下:

DataBinder.Eval(Container.DataItem, "field name", "optional formatting")

采用此语法,可以使用DataBinder.Eval重写第一个示例,其C#代码见Listing C。Listing D包含VB.NET等同代码。

DataBinder.Eval在将工作推向系统方面的能力是很强的,同时也要注意系统定位元素和确定对象/数据类型的时间和资源的开销很大。

丰富的选项

数据绑定使得向ASP.NET页面中放入数据的工作变得相对简单。有很多种不同数据绑定选项可供选择,他们包括:绑定数据到控制器并且确定如何显示,或在ASP.NET页面上选择声明的数据绑定到控制器。最后,它由你的喜好所决定,但是有很多选择终究是件好事。

Tony Patton作为软件开发人员开始了其职业生涯,他已经通过了Java、VB、Lotus和XML认证。

上一篇:关于线程的参数、“返回值”、及线程的中止 下一篇:Windows Vista系统安装时间全面曝光
本栏目热门文章
·如何实现无刷新的DropdownList联动效果 2005-10-4
·使用HttpWebRequest向网站模拟上传数据 2005-10-4
·ASP.NET中文件上传下载方法集合 2006-5-28
·当DataSet中包含主/子表时,Update更新步骤 2005-10-6
·ASP.NET2.0实现无刷新客户端回调 2005-11-13
·分享个极好的无刷新二级联动下拉列表,同样适用与firefox 2005-10-19
·在Web DataGrid中当鼠标移到某行与离开时行的颜色发生改变( 2005-10-4
·ASP.NET中实现Flash与.NET的紧密集成 2005-11-21
·关于Asp.net页面Page_Load被执行两次的问题 2005-10-4
·ASP.NET极限:页面导航 (翻译) 2005-10-8
新近更新文章
·ACCESS在Web.config里设置连接字符串 2006-10-14
·图片地址防盗链,通过IHttpHandler实现 2006-10-14
·如何于DataGridView控件中以跨数据行方式显示数据 2006-10-14
·asp.net 2.0中不同web控件之间的相互调用 2006-10-10
·ASP.NET 2.0 中 Treeview 的Checkboxes 2006-10-10
·使用ASP.Net Forms模式实现WebService身份验证 2006-10-10
·ASP.NET2.0的跨页回调 2006-10-10
·ASP.NET 2.0程序安全的基础知识 2006-10-5
·通过数据捆绑将数据添加到ASP.NET 页面 2006-10-5
·关于线程的参数、“返回值”、及线程的中止 2006-10-5
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: