技术开发 频道

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

【IT168 技术文档】在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>
 
0
相关文章