科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件ASP.NET 2.0高级数据处理之数据绑定

ASP.NET 2.0高级数据处理之数据绑定

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在前面的\"模板中的数据绑定\"部分中我们论述过,ASP.NET包含了一种宣告式的数据绑定语法,用于在数据绑定模板中把数据源字段与控件的属性相关联。

作者:陶刚 来源:天极开发 2007年11月5日

关键字: Windows

  • 评论
  • 分享微博
  • 分享邮件
列表类型的服务器控件(例如DropDownList、ListBox和HTMLSelect)把集合作为数据源。下面的例子演示如何绑定到通用语言运行时集合类型。这些控件只能绑定到支持Ienumerable、Icollection或IlistSource接口的集合。更为常见的是,它可以绑定到ArrayList、Hashtable、DataView和DataReader。下面的例子演示了如何绑定到ArrayList。

Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
 Dim values as ArrayList= new ArrayList()
 values.Add ("IN")
 values.Add ("KS")
 values.Add ("MD")
 values.Add ("MI")
 values.Add ("OR")
 values.Add ("TN")

 DropDown1.DataSource = values
 DropDown1.DataBind
End If
End Sub

  下面的例子演示了如何绑定到DataView。请注意DataView类是在System.Data名字空间中定义的。

Sub Page_Load(sender As Object, e As EventArgs)
 If Not IsPostBack Then
  Dim dt As DataTable
  Dim dr As DataRow
  Dim i As Integer

  '建立DataTable
  dt = New DataTable
  dt.Columns.Add(New DataColumn("IntegerValue", GetType(Integer)))
  dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
  dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)))
  dt.Columns.Add(New DataColumn("BooleanValue", GetType(Boolean)))

  '填充一些数据

  For i = 1 To 9
   dr = dt.NewRow()
   dr(0) = i
   dr(1) = "Item " + i.ToString()
   dr(2) = DateTime.Now.ToShortTimeString
   If (i Mod 2 <> 0) Then
    dr(3) = True
   Else
    dr(3) = False
   End If
   '把数据行添加到表
   dt.Rows.Add(dr)
  Next

  GridView1.DataSource = New DataView(dt)
  GridView1.DataBind()
 End If
End Sub

  下面的例子演示了如何绑定到Hashtable。

Sub Page_Load(sender As Object, e As EventArgs)
 If Not IsPostBack Then
 
  Dim h As Hashtable = new Hashtable()
  h.Add ("key1", "value1")
  h.Add ("key2", "value2")
  h.Add ("key3", "value3")

  MyDataList.DataSource = h
  MyDataList.DataBind
 End If
End Sub

  通常情况下,你可能希望绑定到页面或控件之前先处理数据。下面的例子演示了如何绑定到表达式和方法的返回值。

Sub Page_Load(sender As Object, e As EventArgs)
 If Not IsPostBack Then
  Dim values as ArrayList= new ArrayList()

  values.Add (0)
  values.Add (1)
  values.Add (2)
  values.Add (3)
  values.Add (4)
  values.Add (5)
  values.Add (6)

  DataList1.DataSource = values
  DataList1.DataBind
 End If
End Sub

Function EvenOrOdd(number As Integer) As String
 If (number Mod 2 <> 0) Then
  Return "Odd"
 Else
  Return "Even"
 End If
End Function

<asp:DataList id="DataList1" ……>
<ItemTemplate>
 Number Value: <%# Container.DataItem %>
 Even/Odd: <%# EvenOrOdd(Container.DataItem) %>
</ItemTemplate>
</asp:DataList>
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章