将列表项绑定到数组
添加静态数据项的一种更高级的方法是使用数组在Page_Load事件中创建一个数组然后将这个数组设置为列表的数据源最后执行绑定在ASPNET 中绑定表示将数据放入控件的操作例如在将ListBox绑定到数据源控件时数据源中的信息将实际保存到这个ListBox控件中这是在ASPNET 中使用x版本技术的少数几个地方之一用一行代码来执行绑定大多数情况下在版本中数据控件都会在需要时自动执行绑定这里需要执行如下步骤
<%@ Page Language=VB %>
<script runat=server>
Public MyStates() As String=(AKALAR)
Protected Sub Page_Load(ByVal sender As Object ByVal e As SystemEventArgs)
DropDownListDataBind()
End Sub
</script>
<html xmlns=http://wwwworg//xhtml>
<head runat=server>
<title>Untitled Page</title>
</head>
<body>
<form id=form runat=server>
<div>
<asp:DropDownList ID=DropDpwmList runat=server
DataSource=<@# MyStates %>
>
</asp:DropDownList>
第一部分阴影代码创建了一个名为MyStates的变量并用个值填充它第三部分阴影代码指定将数组(MyStates)绑定到DropDownList 第二部分阴影代码指示ASPNET 页面在页面加载的时候实际执行绑定也就是说将My States中的值放到DropDownListl中
如果支持显示的数据项发生变化那么选择列表中的数据项应该从数据源控件中读取选择列表有一个属性DataSourcelD它的值是数据源控件的m然后是DataTextField和DataVaiueField属性的值将它们设置为数据源控件的SelectCornrnand属性中包含的字段
从数据源添加列表项
很多情况下列表项都将保存在数据库中所以从数据库中获取列表与前一小节所述的创建数组或单独的标记相比更有意义由于ASPNET 在数据源和数据绑定控件上的混合匹配设计因此可以从数据源控件获取列表只需跟随VWD向导指定使用哪个数据源为ListBox提供信息
在这个页面上您希望用户只能看到当月的赛程安排在下面的试一试练习中首先在页面上由硬编码设定月份然后转为动态绑定注意球队之间的比赛集中在}月到月之间可以从月到月的静态绑定开始然后改善页面使其自动绑定到数据库中比赛的实际日期
()在本章的前面创建了Fixturesaspx页面在VWD中打开它
()添加类似于Please pick a month的文本然后从工具箱中拖放一个ListBox控件到内容区域可能需要向下滚动才能看到该控件
()由于本书使用后台代码因此必须在一个单独的文件中编写代码在SolutionExplorer的顶部单击View Code图标打开编辑器面板
在编辑器面板的左上方展开下拉列表并单击Page Events对象在右上方展开下拉列表并选择Load
()在Page_Load事件内添加如下阴影代码注意数组列表包含在花括号({})内而不是圆括号内还要注意到数组的声明位于Page_Load之前
Partial Class Fixtures
Inherits SystemWebUIPage
Protected ListOfMonths() As Integer=()
Protected Sub Page_Load(ByVal sender As Object ByVal e As SystemEventArgs) Handles MeLoad
ListboxDataBind()
End Sub
[] [] [] []