ASP.NET 2.0中给DropDownList服务器控件添加项的新方法

在ASP.NET 2.0中,可以在数据绑定时,通过设置DropDownList的AppendDataBoundItems属性为true,在数据绑定之前添加一个新的项目,并且这个新加的项目会保存在ViewState之中。下面就是一个实现的例子:

<%@ Page Language="VB" AutoEventWireup="true" %>

<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  
Protected Sub Button1_Click(ByVal sender As ObjectByVal e As System.EventArgs)
    Response.Write(
"<li>DropDownList1 您选择的项目:" + DropDownList1.SelectedValue + _
      
" ; " + DropDownList1.SelectedItem.Text)
    Response.Write(
"<li>DropDownList2 您选择的项目:" + DropDownList2.SelectedValue + _
      
" ; " + DropDownList2.SelectedItem.Text)
  
End Sub

  
  
Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs)
    
If Not IsPostBack Then
      DropDownList1.AppendDataBoundItems 
= True
      DropDownList1.Items.Add(
New ListItem("-- 请选择一个选择项 --"""))
      DropDownList2.DataSource 
= CreateDataSource()
      DropDownList1.DataSource 
= CreateDataSource()
      DropDownList2.DataTextField 
= "text"
      DropDownList1.DataTextField 
= "text"
      DropDownList2.DataValueField 
= "id"
      DropDownList1.DataValueField 
= "id"
      DropDownList1.DataBind()
      DropDownList2.DataBind()
    
End If
  
End Sub

  
  
Function CreateDataSource() As ICollection
    
Dim dt As DataTable = New DataTable()
    
Dim dr As DataRow
    dt.Columns.Add(
New DataColumn("id"GetType(System.Int32)))
    dt.Columns.Add(
New DataColumn("text"GetType(String)))
    
For i As Integer = 0 To 6
      dr 
= dt.NewRow()
      dr(
0= i
      dr(
1= "列表项目 " + i.ToString()
      dt.Rows.Add(dr)
    
Next
    
Dim dv As DataView = New DataView(dt)
    
Return dv
  
End Function


</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  
<title>DropDownList 补充例子</title>
</head>
<body>
  
<form id="form1" runat="server">
    
<asp:DropDownList ID="DropDownList1" runat="server">
    
</asp:DropDownList>
    
<asp:DropDownList ID="DropDownList2" runat="server" AppendDataBoundItems="true">
      
<asp:ListItem Text="请选择" Value=""></asp:ListItem>
    
</asp:DropDownList>
    
<asp:Button ID="Button1" runat="server" Text="得到选择的值" OnClick="Button1_Click" />
  
</form>
</body>
</html>
 
posted @ 2007-09-17 09:09  星空竹月  阅读(257)  评论(0)    收藏  举报