.NET开发-DropDownList控件
1. 概述
在ASP.NET WebForm应用程序中,DropDownList控件是下拉列表框或下拉菜单控件。可以手动添加静态数据,也可以在后台在使用C#代码添加数据,或从数据库中获取数据并绑定到DropDownList控件中。
如下图是在Visual Studio 2019中在*.aspx页面上添加的DropDownList服务器端控件。
从上图上看,微软的服务器端控件都是以
ASP.NET WebForm应用程序的Web控件都是放在Html标记中的。与Html标记混合在一起,而在IIS中,会最终将Web控件也翻译成Html源码呈现在用户的页面上。
2. 添加控件
DropDownList控件表示下拉列表框(或下拉菜单)控件,用于让用户在下拉的菜单中只能选择一项作为当前值。常见的有选择省市的下拉列表框、选择商品类别的下拉列表框等。
要想在aspx页面上添加DropDownList控件,需要打开Visual Studio 2019的工具箱,如下图所示:
在图2中拖动DropDownList控件,放在需要下拉菜单的Html代码中,然后将DropDownList控件的ID修改为ddlCity,现在不做任何修改,直接运行该aspx页面,效果如下:
由于该下拉列表框没有任何值,所以是空的。
3. 添加值
如果要给下拉菜单添加值,有三种方法:
使用可视化的任务窗格通过“编辑项”添加。在Html中通过Html代码添加。在Page_Load事件中使用C#代码添加。下面是通过可视化的任务窗格添加,如下图所示:
在上图中点击“编辑项…”,如下图:
在上图中点击“添加”按钮,如下图所示:
只需要给Text赋值即可,Value值会自动与Text值相同。Value值主要用于内部C#编码。
可以多次点击“添加”按钮添加多个值,如下图添加了多个值给下拉菜单。
在上图中,已经添加了3个数据在下拉菜单中。在aspx页面中查看一下源码:
也可以在上图中通过代码手动编写每个添加值。
现在运行一下图8的代码,效果如下图所示:
那么如何通过后台C#代码给下拉菜单添加值呢?
可通过在Page_Load事件中使用C#代码操作DropDownList控件,C#代码如下:
由于Page_Load事件在aspx页面一运行就执行,所以会在看到下拉菜单之前添加值。
通过C#给下拉菜单添加值的代码如下:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace Yidosoft.Edu.WebForm{public partial class DropDownListDemo : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){//第一种方法this.ddlCity.Items.Add("厦门市");//第二种方法this.ddlCity.Items.Add(new ListItem() { Text = "郑州市" });}}}现在再运行一下aspx页面,如下图所示:
4. 获取选择的值
ASP.NET WebForm中下拉列表框每次只能选择一个值作为当前值。在页面上添加一个按钮控件,当单击按钮,输出下拉菜单中选择的值,如下图所示:
现在切换到“设计”模式,双击此按钮,打开事件代码,并在其中编写如下C#代码:
通过SelectedItem.Value和SelectValue属性的值可以获取当前选中项的Value值。通过SelectedItem.Text属性的值可以获取当前选中项的Text值。
用于换行。运行一下aspx页面,效果图如下:
由于我们设置的Text和Value属性的值一样,所以获取的结果也是一样的 。
现在通过C#代码修改一下下拉菜单最后一项的Value值,如下代码:
在此代码中,指定Text值为“郑州市”,Value值为“ZhengZhou”。
再运行一下结果:
Text属性用于显示在下拉列表框中的值,而 Value属性一般用于内部C#编程使用。
5. 获取选中项的索引值
ASP.NET WebForm应用程序中下拉列表框中的所有项都有一个索引号,第1项的索引号(下标值)是0,与C#中的数组下标值一样。通过索引号进行相关的操作。
下面我们获取选中项的索引值,C#代码如下:
在WebForm中,使用SelectIndex属性获取下拉菜单DropDownList控件选中项的索引值。
运行一下图17的代码,效果如下图所示:
当我们在下拉菜单中选择“深圳市”项后,得到的SelectIndex的索引值是2。
至此,我们已经学习了ASP.NET WebForm应用程序的DropDownList下拉菜单的使用,包括赋值和取值,这些操作都是在.NET应用程序中常用的操作,要不断的练习和实际操作代码,才能熟练的掌握DropDownList的使用。
举报/反馈