这一节主要是要讲DataBind,这个在ASP.net中是很重要的东东,几乎所有的
控件都需要它来控制数据的操作。也可以说是ASP.net的数据核心。 我们先来
看一个简单的例子:
<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
最后的显示为:
?飞刀 Zsir 大风 布丁 亚豪
我们在代码中可以看到我们建立了一个DropDownList,但是他没有
。
这里就是我们用DataBind的结果,在Page_Load方法中我们建立了一个数组
(ArrayList),并通过DataBind方法将这个数组捆绑到了DropDownList控件中,
使得DropDownList最后有数据显示:),怎么样对Bind有一定感性认识了吧。
下面我们开始正式讲解
其实DataBind(),不仅能对控件进行捆绑,而且还能够对页面中属性,方法进
行捆绑,甚至整个页面都可以捆绑。比如,调用Page.DataBind()方法或者直
接使用DataBind(),那么整个页面都将被捆绑,所有的数据全在监视之下。下
面的例子,我们将使用DataBind方法来捆绑DropDownList,并获得其中的数据
<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
执行后,我们选择JSP技术我们点击"提交"按钮,看到情况是:
?ASP技术 ASP.Net技术 selected>JSP技术 PHP技术 组件技术
你现在选择的是:JSP技术区
我们看到,那个红色的[JSP技术],我们并没有使用什么控件,但是他却能正确
的显示我们的选择结果,这个是就捆绑的结果,注意<%#
DDL.SelectedItem.Text %>这句话,正是它让我们取得了捆绑的数据。它看上
去是不是像我们熟悉的<%=...%>这个语句,它们的使用方法相差不多,只是
<%=...%>是在程序执行时调用,<%#... %>是在DataBind()方法之后被调用。
以后我们还能经常看到他的身影,呵呵。 接收Bind的控件,一般有
DropDownList,DataList,DataGrid,ListBox这些集合性质的控件,而被捆绑
的主要是ArrayList(数组),Hashtable(哈稀表),DataView(数据视
图),DataReader这四个,以后我们就可以对号入座,不会出现DataTable被捆
绑的错误了:)
讲到Bind,就不能说一下DataBinder.Eval()方法.
我们在使用DataBind,获得的数据,系统会将其默认为String(字符串),这
对我们平时的输出显示提供了极大的方便,但是我们并不是每次都需要string
类型,有时我们就需要Boolean,Int32这些类型。此时我们就需要转化类型了
。可能大家最先想到的是String.Format方法,这是最好的,但是用法过于烦
。所以最好不要这样啦。我们可以用DataBinder.Eval()方法,他的格式是:
DataBinder.Eval(Container.DataItem,"转换的类型","格式")
最后一个"格式"是可选的,一般不用去管他,Container.DataItem是捆绑的数
据项,"转换类型"指的是Integer,String,Boolean这一类东西.
有了它,我们处理数据就更加方便
最后我们来看一个例子,关于DataView的捆绑,呵呵,老是用DropDownList烦
了,这次用DataGrid,在这个例子中我们可以看到"表是怎样炼成的"
<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
BackColor="#aaaadd" />
我们见到的情况是:
编号 用户名
1 aspcn1
2 aspcn2
3 aspcn3
4 aspcn4
5 aspcn5
6 aspcn6
7 aspcn7
关于这个程序我就不多说了,程序中有说明,只是要注意我们这里bind的是
DataView,不是DataTable,这是一个常犯的错误:)
转载于:https://www.cnblogs.com/Garden-blog/archive/2011/04/21/2023399.html