仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 314|回复: 9
打印 上一主题 下一主题

[学习教程] ASP教程之Web 窗体页的数据绑定表达式

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:44:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;web|数据对Web窗体页中的各项控件属性举行数据绑定不是经由过程间接将属性绑定到数据源来完成的。而是经由过程利用特别的表达式格局来完成数据绑定的。与要绑定到的数据相关的信息被置进该表达式,然后将表达式的了局分派给控件属性。
比方,假定您要将TextBoxWeb服务器控件绑定到一些数据。您创立数据绑定表达式并将其分派给控件的Text属性,以便该值将在控件中显现。
上面的示例申明控件声明在HTML视图中的大致情势。控件的Text属性被绑定到包括单个纪录的数据视图。数据绑定表达式是用字符<%#和%>分开的。
  1. <asp:TextBoxid="TextBox1"runat="server"Text=<%#DataView1(0)("au_lname")%>></asp:TextBox>
复制代码
一样,可使用数据绑定表达式来设置ImageWeb服务器控件的ImageUrl属性。在这类情形下,您是在从数据库中提取一个字符串,该字符串包括要显现的图形的路径和文件名。一个示例大概相似于以下所示:
  1. <asp:Imageid=Image1runat="server"ImageUrl=<%#DataView(0)("productPhotoURL")%>>
复制代码
在VisualStudio中,“属性”窗口向您供应创立数据绑定表达式的工具。您还能够选择自行创立绑定表达式并在Web窗体计划器的HTML视图中输出它们。
利用数据绑定表达式的长处

利用数据绑定表达式在以下几个方面为您供应天真性:

  • 可使用任何表达式,只需该表达式剖析为控件可使用的值。最多见的是,数据绑定表达式将剖析为从数据源导出的值,但它还能够援用该页或其他控件的属性、您在运转时盘算出的值或几近任何其他项。
  • 能够将表达式分派给任何属性,也就是说,能够将任何属性绑定到数据。比方,您能够将与用户首选项有关的信息保存在数据库中,而且利用数据绑定为字体、色彩、巨细、款式等完成属性中的那些首选项。别的,能够绑定不止一个控件属性,这使您能够将一个属性绑定到一个数据源,将另外一个属性绑定到分歧的源。
利用DataBinder类用于绑定

只管您能够实践利用剖析为一个值的任何表达式来举行数据绑定,但在年夜多半情形下,您将绑定到某些范例的数据源。最为罕见的情形是数据集或数据视图中的表,表中包括您感乐趣的单个纪录。为了简化此范例的数据绑定,ASP.NET服务器控件撑持名为DataBinder的类,它实行某些提取数据并使其可用于控件属性的事情。
能够经由过程挪用其Eval办法来利用DataBinder类,这请求两个参数:

  • 对数据容器(一般是数据集)、数据表或数据视图的援用。
  • 对要被导出的独自的值的援用。这一般援用单行(行零)和该行中的列值。
上面的示例申明与下面的文本框所实行的不异的数据绑定,但这一次利用DataBinder类。
  1. <asp:TextBoxid="TextBox1"runat="server"Text=<%#DataBinder.Eval(DataView1,"[0].au_lname")%>></asp:TextBox>
复制代码
先前设置Image控件ImageUrl属性的示例大概相似于以下所示。在该示例中,一个格局设置表达式在DataBinder.Eval办法的第二个参数(可选)中传送;该表达式将一个路径看成前缀增加到数据中。
  1. <asp:Imageid=Image1runat="server"ImageUrl=<%#DataBinder.Eval(Container,"DataItem.ProductImage","http://myserver/myapps/images/{0}")%>>
复制代码
利用DataBinder类的长处是:

  • 语法关于一切绑定是分歧的,由Eval办法所需的参数强迫接纳的。
  • Web窗体页的VisualStudio计划工具撑持DataBinder类。
  • 类主动实行范例转换。比方,假如将一个文本框绑定到包括整数的数据列,DataBinder类主动将整数转换为字符串。
  • 您能够选择指定一个可转换或修改数据的格局设置表达式。
剖析数据绑定表达式

为了供应控件能够绑定到的值,必需在运转时剖析数据绑定表达式。经由过程挪用DataBind办法(它是System.Web.UI.Control类的办法),能够在页处置时代显式实行此步骤。能够为独自的控件挪用该办法,大概更加无效的是,能够为Page类(也是从Control类导出的)挪用该办法。此办法级联对一切子控件的挪用,以是经由过程为该页挪用此办法一次,您能够为该页上的一切控件挪用它。
一般在以下情形下挪用DataBind办法:

  • 该页第一次运转时,但在添补数据源以后(比方,在您已添补数据集以后)。
  • 在数据源产生变动以后(比方,由于已更新了数据源中的纪录)。
上面的示例申明在页初始化事务时代挪用DataBind办法的典范体例:
  1. VisualBasicPrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadSqlDataAdapter1.Fill(DsAuthors1,"authors")IfNot(Me.IsPostBack)ThenMe.DataBind()EndIfEndSub//C#privatevoidPage_Load(objectsender,System.EventArgse){SqlDataAdapter1.Fill(dsAuthors1,"authors");if(!this.IsPostBack){this.DataBind();}}
复制代码
一般不必要在每一个往复过程当中都挪用DataBind办法(即在页初始化中不必要反省回发),由于如许做会交换控件中的值。比方,假如您利用DataGrid控件,该控件大概包括您要处置的变动。在您挪用DataBind时,用来自数据源的值取代网格的内容。假如在页初始化时代实行此操纵,您将在无机会处置变动前,得到网格中的变动。您而是应一般在为该事务实行了数据处置后,在事务处置程序中挪用DataBind办法。

</p>ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用
小女巫 该用户已被删除
沙发
发表于 2015-1-20 11:40:38 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
海妖 该用户已被删除
板凳
发表于 2015-1-29 06:59:40 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
不帅 该用户已被删除
地板
发表于 2015-1-30 13:45:45 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
admin 该用户已被删除
5#
发表于 2015-2-2 21:22:46 | 只看该作者
那么,ASP.Net有哪些改进呢?
若相依 该用户已被删除
6#
发表于 2015-2-8 06:04:34 | 只看该作者
那么,ASP.Net有哪些改进呢?
老尸 该用户已被删除
7#
发表于 2015-2-24 10:42:05 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
莫相离 该用户已被删除
8#
发表于 2015-3-7 12:00:57 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-15 03:44:46 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
简单生活 该用户已被删除
10#
发表于 2015-3-21 17:26:26 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 00:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表