MVC 下拉框DropDownList的使用

原创 2018年04月16日 11:51:22

1.后台Controller构建数据:

 string strSql = @"select * from tb_e_GoodsQuestionType where IsDelete=0";
IList<GoodsQuestionTypeModel> list = SqlHelper.GetEntities<GoodsQuestionTypeModel>(strSql);//查出数据放到list实体集合中

            // 类型下拉信息
            IList<GoodsQuestionTypeModel> listData =  list == null ? new List<GoodsQuestionTypeModel>() : list;//判空
            listData.Insert(0, new GoodsQuestionTypeModel() { GoodsQuestionTypeId = 0, TypeName = "全部" });//插入请选择或全部项
              //参数1:实现了IEnumerable借口的数据集合,参数2:value属性名,参数3:text属性名,参数4:选中的value值[可省略表示选中默认第一项]
            SelectList typeData = new SelectList(listData, "GoodsQuestionTypeId", "TypeName", "6");
            ViewBag.GoodsQuestionTypeData = typeData;//或viewData
//当然也可以这么构建数据源集合
 List<SelectListItem> list = new List<SelectListItem> {

                new SelectListItem { Text = "启用", Value = "0",Selected = true},//让某项选中也可以在循环中判断符合条件选中

                new SelectListItem { Text = "禁用", Value = "1" } };

2.html代码

1).使用强类型Html.DropDownListFor//带For强类型,参数为lambda表达式

@using model GoodsQuestionTypeModel
@Html.DropDownListFor(q=>q.GoodsQuestionTypeId, ViewBag.GoodsQuestionTypeData as List<GoodsQuestionTypeModel>,"请选择",new { @class = "form-control input-sm" })

此方法如果model的GoodsQuestionTypeId有值,会选中此相关选项的

请选择,是加了一个默认选项,text为"请选择",value为"",可以不加此参数,在数据源加一样

new{}里添加各种附加属性信息,例如css,Id,name等

2).使用Html.DropDownList//不带for松散类型,参数为字符串

@Html.DropDownList("GoodsQuestionTypeId", ViewBag.GoodsQuestionTypeData as GoodsQuestionTypeModel,"请选择", new { @class = "form-control input-sm" })

第一个参数为dropdownlist的name,如果new{}里没有定义Id,它的name和id都为GoodsQuestionTypeId

3)JS

$(funciton(){$('#selId').text("循环构建option放在这里")})

4)MVC的For循环

 <select>
@foreach (GoodsQuestionTypeModel item in ViewBag.GoodsQuestionTypeData as GoodsQuestionTypeModel)
{
<option selected="selected" value="item.value">item.text</option>
}
</select>

3.如何在列表中使用数据源,使其显示应有的选中值

Controller代码

            IList<GoodsQuestionTypeModel> listData = goodsQuestionManageService.GetQuestionTypeList();
            listData.Insert(0, new GoodsQuestionTypeModel() { GoodsQuestionTypeId = 0, TypeName = "请选择" });
            ViewBag.TypeList = listData;
foreach (var entity in Model)
{
SelectList typeData = new SelectList(ViewBag.TypeList, "GoodsQuestionTypeId", "TypeName",entity.GoodsQuestionTypeId);//在循环中构建和绑定数据源,循环改变要绑定的值
<tr>
@Html.Hidden("GoodsQuestionManageId", @entity.GoodsQuestionManageId)
<td class="text-right">@Html.TextBox("QuestionQuantity", @entity.QuestionQuantity, new { @class = "form-control input-sm Amount", style = "text-align:right;", onblur = "numblur(this);", oninput = "numKeyup(this);", onpropertychange = "numKeyup(this);" })</td>
<td>@Html.DropDownList("GoodsQuestionTypeId", typeData, new { @class = "form-control input-sm" })</td>
<td>@Html.TextArea("Remarks", @entity.Remarks, new { @class = "form-control input-sm", style = "resize: none;", rows = "1" })</td></tr>}

MVC 给DropDownList下拉框赋值

在Views中: @using (Html.BeginForm("ProblemSearchs", "Department", new RouteValueDictionary { { "id", ...
  • u012326738
  • u012326738
  • 2015-05-20 21:33:51
  • 1454

mvc 下拉列表 DropDownList 两种绑定方式

$("#id").val("请选择"); 前台  @Html.DropDownListFor(model=> model.lishudanweiid, ViewBag.DevNameL...
  • zhuxueliao
  • zhuxueliao
  • 2017-03-31 10:45:32
  • 859

asp.net Dropdownlist结合CheckBoxList多选下拉框

  • 2014年01月14日 20:54
  • 23KB
  • 下载

ASP.NET MVC DropdownList 使用

ASP.NET MVC 使用Html Helper的形式实现UI控件,里面有一个非常重要的下拉列表控件-DropdownList。这个控件使用还是比较灵活的,今天总结了一下。 1.View @us...
  • afandaafandaafanda
  • afandaafandaafanda
  • 2015-06-08 16:32:44
  • 809

MVC里面两个dropdownlist联动

MVC view里面有两个dropdownlist分别邦定到两个属性 View里面 @Html.LabelFor(m => m.Name...
  • clear_zero
  • clear_zero
  • 2016-03-21 19:08:15
  • 1642

ASP.NETmvc5下使用DropDownList的使用 ,和asp.net里的DropDownList控件的方法

前台页面 后台代码  用LINQ写的S_ID = u1.CI_ID, S_Name = u1.CI_Name相当于dataTextFileld 和dataValueField...
  • You_KU
  • You_KU
  • 2016-12-14 23:58:21
  • 821

如何给DropDownList控件设置样式(ASP.NET MVC)

.net mvc里的DropDownList下拉框的样子真的是很不让人满意,而且它的边框长度和旁边的下拉三角形是真的很丑,为了解决这个问题,可以使用Jquery直接将自己设置好的CSS样式加在相应的标...
  • qq_31798675
  • qq_31798675
  • 2016-05-21 14:04:13
  • 1178

.net mvc DropDownList 下拉框_无限级分类

1、数据库设计: id:int  name:string pid:int  //父级id(顶级菜单默认为0) 2、Controller: using System; using System.Coll...
  • yan309271291
  • yan309271291
  • 2014-12-27 16:26:05
  • 1913

用AJAX实现下拉框(DropDownList)的联动

目的:学习AJAX,用于实现在 选择“省份”下拉框时候,联动实现在“城市”下拉框中显示出相应的“城市”名称 。步骤1:在页面CS文件中的PAGE_LOGD方法中注册  protected void P...
  • aaronbai
  • aaronbai
  • 2007-10-09 15:34:00
  • 1759
收藏助手
不良信息举报
您举报文章:MVC 下拉框DropDownList的使用
举报原因:
原因补充:

(最多只允许输入30个字)