记录三个DropDownList的实践操作
1.
先上效果图
多选框选择其中一个选项,多行文本框输出这个选项的基本数据,以及下面的两个按钮的功能。
前端代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title>
</head>
<body><form id="form1" runat="server"><div><asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged" AutoPostBack = "true"><asp:ListItem Value="A">first</asp:ListItem><asp:ListItem Value="B">second</asp:ListItem><asp:ListItem Value="C">Third</asp:ListItem></asp:DropDownList><br /><br /><br /><asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Height="120px" Width="208px"></asp:TextBox><br /><br /><asp:Button ID="Button1" runat="server" Text="自动选择第三项" onclick="Button1_Click" Width="128px" /> <asp:Button ID="Button2" runat="server" Text="清除所有项" onclick="Button2_Click" Width="121px" /></div></form>
</body>
</html>
后端代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e){}protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e){TextBox1.Text = "索引值:" + DropDownList1.SelectedIndex;TextBox1.Text += "\nText值:" + DropDownList1.SelectedItem.Text;TextBox1.Text += "\nValue值:" + DropDownList1.SelectedValue;TextBox1.Text += "\n总共多少项:" + DropDownList1.Items.Count;}protected void Button1_Click(object sender, EventArgs e){DropDownList1.SelectedItem.Selected = false; //这时候选中状态的选中项要先取消DropDownList1.Items[2].Selected = true;TextBox1.Text = "索引值:" + DropDownList1.SelectedIndex;TextBox1.Text += "\nText值:" + DropDownList1.SelectedItem.Text;TextBox1.Text += "\nValue值:" + DropDownList1.SelectedValue;TextBox1.Text += "\n总共多少项:" + DropDownList1.Items.Count;}protected void Button2_Click(object sender, EventArgs e){DropDownList1.Items.Clear();}
}
DropDownList1_SelectedIndexChanged()方法的快捷创建方式:直接在拆分交互界面双击这个多选框
2.
先上效果图
看图片的信息基本上就可以知道
①多选框选中一个选项,跳转按钮实现跳转页面;
②修改选项;
③增加选项;
④在Page_Load()方法绑定数据源以及创建选项
前端代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title>
</head>
<body><form id="form1" runat="server"><div><asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="AccessDataSource1" DataTextField="网站名称" DataValueField="网址"></asp:DropDownList> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="跳转" /><asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/test.mdb" SelectCommand="SELECT [网站名称], [网址] FROM [TB_HLINKS]"></asp:AccessDataSource><br /><br /><asp:Button ID="Button2" runat="server" Text="把第三项设置为拼多多" onclick="Button2_Click" Width="200px" />
<br /><br /><asp:Button ID="Button3" runat="server" Text="增加一项" onclick="Button3_Click" /><br /><br /><asp:Panel ID="Panel1" runat="server"></asp:Panel></div></form>
</body>
</html>
添加数据源的操作我就不细说了,可以参考我上一篇博客:
asp.net_css应用
后端代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;public partial class Default2 : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e){//绑定数据源ArrayList arr = new ArrayList();arr.Add("a");arr.Add("b");arr.Add("c");DropDownList dl = new DropDownList(); //生成控件dl.DataSource = arr;dl.DataBind();Panel1.Controls.Add(dl);}protected void Button1_Click(object sender, EventArgs e){Response.Redirect(DropDownList1.SelectedValue); //进行跳转}protected void Button2_Click(object sender, EventArgs e){DropDownList1.Items[2].Text = "拼多多";DropDownList1.Items[2].Value = "https://www.pinduoduo.com/";}protected void Button3_Click(object sender, EventArgs e){ListItem item = new ListItem();item.Text = "唯品会";item.Value = "https://www.vip.com/";DropDownList1.Items.Add(item);}
}
修改选项用到了DropDownList.Items[i].Text和.Value
添加选项是new一个ListItem对象来进行操作。
Page_load()当中这一句,等价于从工具箱直接添加控件。
DropDownList dl = new DropDownList(); //生成控件
而这两句,等价于在拆分交互页面直接点击编辑选择项
dl.DataSource = arr;
dl.DataBind();
3.实现一个登录界面,用户需要从两个相互关联的下拉列表框中选择用户所在城市
先上效果图:
看图可知,选择了一个省份,会自动生成省内的所有市(自己编辑)。
前端代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title>
</head>
<body><form id="form1" runat="server"><div>姓名:<asp:TextBox ID="TextBox1" runat="server" AutoPostBack = "true"></asp:TextBox> <asp:Label ID="NameLabel" runat="server" Text="" ForeColor = "red"></asp:Label><br /><br />密码:<asp:TextBox ID="TextBox2" runat="server" AutoPostBack = "true"></asp:TextBox> <asp:Label ID="PasswordLabel" runat="server" Text="" ForeColor="red"></asp:Label><br /><br />所在城市:<asp:DropDownList ID="dl_province" runat="server" AutoPostBack = "true" onselectedindexchanged="dl_province_SelectedIndexChanged" style="height: 23px"><asp:ListItem>福建省</asp:ListItem><asp:ListItem>广东省</asp:ListItem></asp:DropDownList> <asp:DropDownList ID="dl_city" runat="server"></asp:DropDownList> <asp:Label ID="L" runat="server" Text="" ForeColor="red"></asp:Label><br /><br />
<asp:Button ID="Button1" runat="server" Text="登录" onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="重置" onclick="Button2_Click" /><br /><br /><br /><asp:Label ID="Label1" runat="server" Text="" ></asp:Label></div></form>
</body>
</html>
后端代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class Default3 : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e){}protected void dl_province_SelectedIndexChanged(object sender, EventArgs e){if (dl_province.SelectedItem.Text == "福建省"){string[] str = {"福州市","厦门市","漳州市"};dl_city.Items.Clear();dl_city.DataSource = str;dl_city.DataBind();}if (dl_province.SelectedItem.Text == "广东省"){dl_city.Items.Clear();string[] str = { "中山市", "珠海市", "深圳市" };dl_city.DataSource = str;dl_city.DataBind();}}protected void Button1_Click(object sender, EventArgs e){if (TextBox1.Text != "" && TextBox2.Text == "123456"){Label1.Text = TextBox1.Text + "居住在" + dl_province.Text + dl_city.Text;}else if(TextBox1.Text == ""){NameLabel.Text = "姓名不能为空";}else if(TextBox2.Text != "123456"){PasswordLabel.Text = "密码不正确";}}protected void Button2_Click(object sender, EventArgs e){TextBox1.Text = "";TextBox2.Text = "";Label1.Text = "";dl_province.SelectedItem.Selected = false;dl_city.SelectedItem.Selected = false;dl_city.Items.Clear();NameLabel.Text = "";PasswordLabel.Text = "";}
}