设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP.NET

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

作者:佚名 出处:网络转载 时间:11-29 点击:

内容载入中...
     在ASP.NET 2.0中,可以在数据绑定时,通过设置DropDownList的AppendDataBoundItems属性为true,在数据绑定之前添加一个新的项目,并且这个新加的项目会保存在ViewState之中。下面就是一个实现的例子:
  
  C#代码
  
  <%@ Page Language="C#" %>
  <%@ 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">
   ICollection CreateDataSource()
   {
   DataTable dt = new DataTable();
   DataRow dr;
   dt.Columns.Add(new DataColumn("id", typeof(Int32)));
   dt.Columns.Add(new DataColumn("text", typeof(string)));
   for (int i = 0; i < 6; i++)
   {
   dr = dt.NewRow();
   dr[0] = i;
   dr[1] = "列表项目 " + i.ToString();
   dt.Rows.Add(dr);
   }
   DataView dv = new DataView(dt);
   return dv;
   }
   protected void Button1_Click(object sender, EventArgs e)
   {
   Response.Write("<li>DropDownList1 您选择的项目:" + DropDownList1.SelectedValue
   + " ; " + DropDownList1.SelectedItem.Text);
   Response.Write("<li>DropDownList2 您选择的项目:" + DropDownList2.SelectedValue
   + " ; " + DropDownList2.SelectedItem.Text);
   }
  
   protected void Page_Load(object sender, EventArgs e)
   {
   if (!IsPostBack)
   {
   DropDownList1.AppendDataBoundItems = true;
   DropDownList1.Items.Add(new ListItem("-- 请选择一个选择项 --", ""));
   DropDownList2.DataSource = DropDownList1.DataSource = CreateDataSource();
   DropDownList2.DataTextField = DropDownList1.DataTextField = "text";
   DropDownList2.DataValueField = DropDownList1.DataValueField = "id";
   DropDownList1.DataBind();
   DropDownList2.DataBind();
   }
   }
  </script>
  
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head 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>
  VB.NET代码
  
  <%@ 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 Object, ByVal 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 Object, ByVal 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>
  
    。

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息