ASP.NET:数据库邦定控件DataBind方法

asp.net|控件|数据|数据库

  在上一节中我们介绍了<%#  %> 语法,这种情况是Web 窗体有了明确的数据源,即Page.DataBind。这一小节我们来了解DataBind方法。
    DataBind方法是ASP.NET中一个很重要的概念,几乎所有的控件都需要它控制数据的操作,它的作用是在为控件指定数据源后,执行数据绑定操作。在上一章的DataSet对象实例中我们已经使用过,利用这个方法为DataGrid控件绑定数据,即DataGrid.DataBind()。

    ASP.NET可以使用DataBind方法来绑定数据的控件除了DataGrid,Repeater,DataList三个专用的数据绑定控件以外,还有些数据集合性质的Web控件,包括DropDownList,ListBox等,用来指定的数据源一般为数组(ArrayList)、哈稀表(HashTable)、数据表(DataTable)、 数据视图(DataView)和DataReader等。

    下面我们利用这个方法为ListBox控件绑定数据源。

    首先建立实例运行环境。打开Visual Studio.NET 2003 ,新建一个Web项目,命名为DataCon,新建一个窗体,命名为LBDataBind.aspx。在LBDataBind.aspx窗体中添加一个ListBox控件,如图9.1所示。


图9.1  为LBDataBind.aspx添加ListBox控件

LBDataBind.aspx页面的主要HTML代码如下:
<form id="Form1" method="post" runat="server"> 
 <asp:ListBox id="ListBox1"  runat="server"></asp:ListBox>
</form>
在LBDataBind.aspx的逻辑代码文件(LBDataBind.aspx.vb)中的Page_Load事件过程代码如下:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        Dim i, j As Int16  '声明两个整型变量,用于循环
        Dim rd As Random = New Random
        '声明一个随机变量,并实例化
        Dim str As String
        '声明一个字符串变量,用于生成的随机字符
        Dim arr As ArrayList = New ArrayList
        '声明一个数组,用来存放字符串
        For i = 1 To 20
            '执行外循环,每一次循环,生成一个项
            str = "第" & i & "项--"
            For j = 1 To 5
                '执行内循环,循环5次,
                '成生一个5个随机大写字母的字符串
                str += Chr(rd.Next(65, 90))
            Next
            arr.Add(str)
            '添加到数组中
            str = ""
        Next
        ListBox1.DataSource = arr
        '为LisBox1指定数据源
        ListBox1.DataBind()
        '使用DataBind方法,为控件绑定数据
End Sub
保存编译,运行结果如图9.2所示。


图9.2  LBDataBind.aspx运行结果

    在上面这个实例中,我们使用了一个ListBox控件,但是我们并没有设置<asp:ListItem>属性,为其添加项目。在LBDataBind.aspx的逻辑代码里,我们利用随机数生成了一个含有20个项的数组(ArryList),我们为ListBox1指定这个数组为数据源,并使用DataBind方法为其执行数据绑定,这样就利用编程的方式实现了ListBox控件的数据绑定操作。

    在上一节里,我们学习了<%# %> 语法,这里我们演示一下利用aspx文件的Page.DataBind 方法实现对整个页面的数据绑定。一旦aspx的整个页面被绑定后,页面内的数据都在监视之中。

    在DataCon Web项目里新建一个窗体,命名为PageDataBind.aspx。在PageDataBind.aspx里添加一个DropDownList控件,主要HTML代码如下:
<body MS_POSITIONING="GridLayout">
 <form id="Form1" method="post" runat="server">
 <FONT face="宋体">
<span style="BACKGROUND-COLOR: #cccccc">
请选择你最喜欢的体育运动:</span>
 <p>
 <asp:DropDownList
id="DropDownList1"
 runat="server"
 Width="104px"
Height="32px"
AutoPostBack="True">
    <asp:ListItem Value="跑步">跑步</asp:ListItem>
    <asp:ListItem Value="骑马">骑马</asp:ListItem>
    <asp:ListItem Value="射击">射击</asp:ListItem>
    <asp:ListItem Value="游泳">游泳</asp:ListItem>
    <asp:ListItem Value="踢足球">踢足球</asp:ListItem>
    <asp:ListItem Value="打篮球">打篮球</asp:ListItem>
    <asp:ListItem Value="打网球">打网球</asp:ListItem>
    <asp:ListItem Value="打乒乓球">打乒乓球</asp:ListItem>
    <asp:ListItem Value="打羽毛球">打羽毛球</asp:ListItem>
 </asp:DropDownList>
 <p>
 <span style="BACKGROUND-COLOR: #cccccc">你选择的是:<br>
 <%#  DropDownList1.SelectedValue %>
 </span>
 </FONT>
</form>
</body>
    我们设置DropDownList1的AutoPostBack属性为"True",即该控件具有自动响应事件的能力,当列表框中的选定项发生变化时,会自动回传服务器上,并执行.NET框架委托的事件过程SelectedIndexChanged。我们为DropDownList1_SelectedIndexChanged事件过程编写的代码如下:
Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
        '整个事件过程就一条语句,在执行该语句后,本aspx页面就被数据绑定
         '当页面的数据变动时候,就可以利用<%# %>方法显示出来
Page.DataBind()
End Sub
保存编译,PageDataBind.aspx运行结果如图9.3所示。


图9.3  PageDataBind.aspx运行结果

    在上一章里我们已经学习了用DataTable为DataGrid控件提供DataBind数据源,在DataView 实例里,我们也利用DataView对象来为DataGrid控件提供DataBind数据源,这里就不再赘述,读者可以翻看前一章的实例代码,仔细推敲其中的奥妙。

时间: 2024-09-12 05:23:38

ASP.NET:数据库邦定控件DataBind方法的相关文章

ASP.NET:数据库邦定控件入门

asp.net|控件|数据|数据库 数据绑定控件是Web控件的一部分,但其与数据库紧密结合的,在Web应用程序中的应用十分广泛,所以尤其显得重要.在本章中,我们将详细介绍ASP.NET技术中数据绑定控件的用法.    9.1  数据库邦定控件入门     在学习上一章时候,我们接触到了DataGrid控件,在实例中我们利用DataAdapter从数据库中读取数据,存放到DataSet里,然后绑定到DataGrid控件里,由DataGrid控件显示出来.通过数据绑定控件的不同设置,可以快速地实现数

ASP.NET动态添加用户控件的方法_实用技巧

本文实例讲述了ASP.NET动态添加用户控件的方法.分享给大家供大家参考.具体实现方法如下: 为了让用户控件能ASP.NET页面实现动态添加,首先写一个接口IGetUCable,这个接口有一个函数,返回对象类型是UserControl. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; /// <summary> /// Summar

ASP.NET:数据库绑定控件DataBind方法

asp.net|控件|数据|数据库     DataBind方法是ASP.NET中一个很重要的概念,几乎所有的控件都需要它控制数据的操作,它的作用是在为控件指定数据源后,执行数据绑定操作.在上一章的DataSet对象实例中我们已经使用过,利用这个方法为DataGrid控件绑定数据,即DataGrid.DataBind().    ASP.NET可以使用DataBind方法来绑定数据的控件除了DataGrid,Repeater,DataList三个专用的数据绑定控件以外,还有些数据集合性质的Web

asp.net笔记Calender日历控件使用方法

最简单的做是可以如下 1.新建一个aspx页面,把calender控件拉进来.  2.第一步是外观设置,这个根据你的需要,只需对它的相关属性做一些调整即可.可以调整如下图: 属性设置如下:  代码如下 复制代码   <asp:calendar id="Calendar1" CellPadding="2" Width="160px" TitleStyle-BackColor="#000000"   BorderColor=

ASP.NET Calendar日历(日期)控件使用方法_基础应用

Calendar 控件显示一个日历,用户可通过该日历导航到任意一年的任意一天.当 ASP.NET 网页运行时,Calendar 控件以 HTML 表格的形式呈现.因此,该控件的许多属性与多种不同的表格格式相符.在这些属性中,有几个在一些低版本的浏览器中不能得到完全支持,因此在这些浏览器中并不能使用所有的格式功能. 使用 Calendar 控件在网页上显示日历的单个月.该控件使您可以选择日期并移到下个月或上个月.Calendar 控件支持 System.Globalization 命名空间中的所有

asp.net动态载入用户控件的方法_实用技巧

在 Page_Load 中写入下面代码: string s=base.QueryString("usctrl") ; string uc= (s== String.Empty) ? "~/myweb/userctrl/default.ascx"  :  "~/myweb/userctrl/""  + s + ".ascx" ; PlaceHolder1.Controls.Clear();    PlaceHolder

asp.net Google样式分页控件

  asp.net Google样式分页控件 使用方法: 引入控件 <%@ Register Assembly="TinyToolBox" Namespace="TinyMS.UI" TagPrefix="tm" %> 使用控件 页码处理事件 protected void TinyPager1_Click(object sender, TinyMS.UI.PagerEventArgs e) { his.Label1.Text = &q

asp.net中使用 Repeater控件拖拽实现排序并同步数据库字段排序_实用技巧

数据库表中有一个单位表,里面包括ID.Name.Order等字段,现在有个后台管理功能,可以设置这些单位在某些统计表格中的先后显示顺序,于是想到用拖拽方式实现,这样操作起来更简便. 使用了GifCam软件做了一个示例动画,效果如下图所示: 于是就动手起来,发现jquery.ui中提供sortable函数,可用于排序,界面中从数据库绑定的单位使用Repeater控件,下面简单介绍下主要步骤: 1.项目中使用到的jquery-1.7.2.min.js和jquery-ui.min.js请点击进行下载,

asp.net中显示DataGrid控件列序号的几种方法

asp.net|datagrid|datagrid控件|显示 asp.net中显示DataGrid控件列序号的几种方法 作者:郑佐 2004-9-10 在aps.net中多数据绑定的控件很多,论功能来说,应该属DataGrid最为齐全,但它没有提供现成的显示记录序号的功能,不过我们可以通过它所带的一些参数来间接得到序号,下面来看看怎样得到和显示序号值计算方式如下: (1)在后台 DataGrid.CurrentPageIndex * DataGrid.PageSize + e.Item.Item