DropDownList的用法

DropDownList是一个下拉列表菜单,平时我们也会经常用到,下面就来看看如何绑定值

1>     静态添加,就是说在值都很明确的情况下

ListItem list1 = new ListItem("a","1");

ListItem list2 = new ListItem("b", "2");

ListItem list3 = new ListItem("c", "3");

ListItem list4 = new ListItem("d", "4");

this.DropDownList2.Items.Add(list1);

this.DropDownList2.Items.Add(list2);

this.DropDownList2.Items.Add(list3);

this.DropDownList2.Items.Add(list4);

如果是要特别放置,明确每个的具体索引,我们可以采用insert方法添加

This.DropDownList2.Items.insert(int index,Listitem item)

也可以在后台html直接添加:

<asp:DropDownList ID="DropDownList2" runat="server"  >

<asp:ListItem Value="1">a</asp:ListItem>

<asp:ListItem Value="2">b</asp:ListItem>

<asp:ListItem Value="3">c</asp:ListItem>

<asp:ListItem Value="4">d</asp:ListItem>

</asp:DropDownList>

转为html就是

<select id="select">

<option value="1">a</option>

<option value="2">a</option>

<option value="3">a</option>

<option value="4">a</option>

</select>

2>     动态绑定

@ 视图绑定

<asp:DropDownList ID="DropDownList1" runat="server"

DataTextField="Name" DataValueField="Id">

</asp:DropDownList>

<asp:ObjectDataSource ID="ObjectDataSource2" runat="server"

OldValuesParameterFormatString="original_{0}" SelectMethod="GetAllUser"

TypeName="MyBookShop.BLL.UserManager"></asp:ObjectDataSource>

这样绑定唯一不好的一点就是无法再第一个列表中显示“—请选择—”

@  代码绑定

这种绑定方式非常灵活,也能很好的解决上面的问题,下面就来看看如何绑定

this.DropDownList1.DataSource = UserManager.GetAllUser();

this.DropDownList1.DataBind();

具体有两种方法:

1   ListItem list = new ListItem("--请选择--","0");

this.DropDownList1.DataSource = UserManager.GetAllUser();

this.DropDownList1.Items.Insert(0, list);

this.DropDownList1.DataTextField = "name";

this.DropDownList1.DataValueField = "id";

this.DropDownList1.DataBind();

但是当我绑定是DataSet的时候,上面那样写的话就没有加上("--请选择--"),这个要放在下面写才可以,如

protected void LinkBind()
    {
        DataSet ds = linkManager.GetList(" jh_checked=‘是‘");
        DroUrl.DataSource = ds;
        DroUrl.DataTextField = "jh_linkname";
        DroUrl.DataValueField = "jh_linkurl";
        DroUrl.DataBind();
        ListItem item = new ListItem("--请选择---", "#");
        DroUrl.Items.Insert(0,item);
    }

2      IList<DepartInfo> departList = DepartInfoManager.GetDepartList();

departList.Insert(0, new DepartInfo { DepartId = 0, DepartName = "--请选择--" });

ddDepart.DataSource = departList;

ddDepart.DataTextField = "DepartName";

ddDepart.DataValueField = "DepartId";

ddDepart.DataBind();

平时我们会在友情链接中使用,选择一项的时候链接会改变,而且打开一个新的页面,这个很好实现

protected void DropDownList1_TextChanged(object sender, EventArgs e)
       {
        string link = this.DropDownList1.SelectedValue;
        Response.Write("<script>window.open(‘"+link+"‘,‘_Blank‘)</script>");
       }

灵活掌握就可以了

时间: 11-13

DropDownList的用法的相关文章

[转]Html.DropDownList()的用法 ( Asp.Net MVC)

Html.DropDownList()赋默认值: 页面代码如下: <% List<SelectListItem> list = new List<SelectListItem> { new SelectListItem { Text = "启用", Value = "0",Selected = true}, new SelectListItem { Text = "禁用", Value = "1"

在ASP.NET MVC中使用DropDownList

在ASP.NET MVC中,尽管我们可以直接在页面中编写HTML控件,并绑定控件的属性,但更方便的办法还是使用HtmlHelper中的辅助方法.在View中,包含一个类型为HtmlHelper的属性Html,它为我们呈现控件提供了捷径. 我们今天主要来讨论Html.DropDownList的用法,首先从Html.TextBox开始. Html.TextBox有一个重载方法形式如下: public static string TextBox(this HtmlHelper htmlHelper,

yii2框架dropDownList的下拉菜单用法介绍

Yii2.0 默认的 dropdownlist 的使用方法.  代码如下 复制代码 <?php echo $form->field($model, 'name[]')->dropDownList(['a' => 'Item A', 'b' => 'Item B', 'c' => 'Item C']); ?> 在yii2中加放请选择的下拉菜单  代码如下 复制代码  <php echo $form->field($model, 'name[]')->

webForm中dropDownList的一些用法

DropDownList 控件用于创建下拉列表. DropDownList 控件中的每个可选项都是由 ListItem 元素定义的! 该控件支持数据绑定! DropDownList1.DataSource = querydata;//指定数据源 DropDownList1.DataBind();//数据源绑定 //DropDownList1.Items.Insert(0,new ListItem("请选择单位")); DropDownList1.DataTextField = &quo

@Html.EditorFor() 用法

@Html.EditorFor()返回一个由表达式表示的对象中的每个属性所对应的input元素,主要是针对强类型,一般这种方式用得多些a.@Html.EditorFor(mode=>mode.Name)如果返回的View给Student实体赋予值,则输出输出<input class="text-box single-line" id="Name" name="Name" type="text" value=&quo

ASP.NET MVC 让@Html.DropDownList显示默认值

在使用@Html.DropDownList的过程中,发现它的用法很局限,比如在加载的时候显示设定的默认项或者调整它的显示样式,在网上查了一些资料,终于把这个问题解决了. 一.View代码 @using (Ajax.BeginForm("Edit", new AjaxOptions() { OnSuccess = "afterEdit" })) { @Html.HiddenFor(model => model.ID) @Html.HiddenFor(model

Asp.Net MVC中DropDownListFor的用法(转)

2016.03.04 扩展:如果 view中传入的是List<T>类型 怎么使用 DropList 既然是List<T> 那么我转化成 T  List<T>的第一个,最后一个不就是M吗? @Html.DropDownListFor(model=>model.First().Title, ViewData["Title"] as List<SelectListItem>, "标题", @"dropdown

Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件

在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <summary> /// 通过枚举类型 绑定到ListControl 控件的通用类 /// 用法:直接传入要绑定的Control: EnumManager<枚举>.Bind_Enum_Control(ListControl); /// </summary> /// <typep

Html.Listbox的用法(实例)

homecontroller控制器中的index动作代码如下: public actionresult index()        {            list<selectlistitem> list = new list<selectlistitem>()             {                 new selectlistitem(){text="张三",value="001"},