1.定义下拉列表需要的数据

public static List<SelectListItem> GetProList()
{
  List<SelectListItem> items = new List<SelectListItem>
  {
  new SelectListItem { Text = "全部", Value = "0" },
  new SelectListItem { Text = "未上架", Value = "1" },
  new SelectListItem { Text = "已上架", Value = "2" }
  };
  return items;
}

2.在需要使用的地方,将下拉列表数据传递到前台.

ViewBag.ProList= GetProList();//可伴随传递到前台的Model.Pro一起使用,给下拉框一个默认值。

3.视图页绑定集合以及选中值给下拉框。

 @{
var selectList = new SelectList(ViewBag.ProList as List<SelectListItem>, "Value", "Text", item.Pro);
}
//使用列表的指定项,数据值字段,数据文本字段,和选定的值来初始化SelectList类的新实例。
@Html.DropDownListFor(modelItem => item.Pro, selectList, new { @class = "form-control", id = "dd_pro" }) //modelItem 是foreach(var modelItem in list)的字段。item.Pro是默认选中的值。selectList是下拉列表的实例。

4.传递给后台当前选中值。

var Pro = $(this).parent("td").parent("tr").children().eq().find(":selected").text().trim();
//$(this).parent("td").parent("tr").children().eq(6) 是本下拉框在表格中的位置。
//find(":selected")下拉框当前选中项。这里需要的.text()是其显示文本。也可以根据需要传递其真实值。

5.如果只是单纯使用下拉框,也可以用@Html.DropDownList 。

//前台页面:

  @Html.DropDownList("DropDownlist", ViewData["TestList"] as List<SelectListItem>, new { @class = "form-control", id = "ddl_process" })

//后台界面:

public ActionResult TestView()
{
ViewData["TestList"] = GetTestList(); //传递下拉列表数据
return View();
} //定义一个包含需要的下列列表数据集合
public static List<SelectListItem> GetTestList()
{
List<SelectListItem> items = new List<SelectListItem>();
items.Add(new SelectListItem { Text = "One", Value = "" });
items.Add(new SelectListItem { Text = "Two", Value = "" });
items.Add(new SelectListItem { Text = "Three", Value = "" });
items.Add(new SelectListItem { Text = "Four", Value = "" });
return items;
}

以上是最近所做项目中遇到的问题——MVC中用到的一些辅助方法。备以记录,以供查询。

关于下拉列表HtmlDownlistFor的使用的更多相关文章

  1. jQuery 邮箱下拉列表自动补全

    综述 我想大家一定见到过,在某个网站填写邮箱的时候,还没有填写完,就会出现一系列下拉列表,帮你自动补全邮箱的功能.现在我们就用jQuery来实现一下. 博主原创代码,如有代码写的不完善的地方还望大家多 ...

  2. AngularJS下拉列表select在option动态变化之后多出了一个错误项的问题

    场景: Select初始化之后,选中select的某个选项 通过AngularJS更新select的选项 错误写法: HTML(使用ng-repeat) <div ng-app="Te ...

  3. 如何在select下拉列表中添加复选框?

    近来在给一个公司做考试系统的项目,遇到的问题不少,但其中的几个让我对表单的使用颇为感兴趣,前端程序员都知道,下拉列表有select标签,复选框有checkbox,但是两者合在一起却少有人去研究,当时接 ...

  4. Jquery、简单的下拉列表、网页左部导航菜单

    简单的下拉菜单.左部导航使用. 2016-5-13 记 效果图如下: <!DOCTYPE html> <html lang="en"> <head&g ...

  5. [WPF]带下拉列表的文本框

    控件我已经弄好了,代码比较多,所以没办法全面介绍. 一开始我是直接继承Selector类来实现,做是做出来了,不过发现性能不太好.于是,我就想着自己来实现.毕竟我是做给自己用的,也不考虑过多的东西,也 ...

  6. Android之Socket通信、List加载更多、Spinner下拉列表

    Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务 ...

  7. JS弹出模态窗口下拉列表特效

    效果体验:http://hovertree.com/texiao/js/20/ 或者扫描二维码在手机体验: 点击选择城市后,在弹出的层中的输入框,输入英文字母 h,会有HoverTree和Hewenq ...

  8. 11月8日下午Jquery取属性值(复选框、下拉列表、单选按钮)、做全选按钮、JSON存储、去空格

    1.jquery取复选框的值 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  9. 下拉列表 select-option ; select-optgroup-option

    HTML中的下拉列表: <select> <option value ="1">Volvo</option> <option value  ...

随机推荐

  1. MySQL Packets larger than max_allowed_packet are not allowed

    MySQL的一个系统参数:max_allowed_packet,其默认值为1048576(1M), 查询:show VARIABLES like '%max_allowed_packet%'; 修改此 ...

  2. vue 移动端轻量日期组件不依赖第三方库

    Vue版移动端日期选择组件 1.优点:不需要依赖其他第三方库,灵活可配置: 不需要依赖第三方组件的vue日期移动端组件  小轮子 轻量可复用:  https://github.com/BeckReed ...

  3. css实现横向带箭头步骤流程效果

    通过纯css实现圆角的步骤流程效果,扩展性强,可以随意增加减少数量,兼容性ie6+. 具体代码: <style type="text/css"> ul{margin:0 ...

  4. 2015-10-26 c#2

    二.值类型和引用类型 2.1  值类型:所有的数值类型都是值类型(short int long float double ...),枚举,布尔类型,结构 2.2  引用类型:对象 ,字符串,objec ...

  5. 20175212课下作业 MyCP

    20175212课下作业 MyCP 要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2 ...

  6. Daily record-December

    December 11. All circles have the same shape. 所有圆的形状都是相同的.2. She first drew a circle on the board. 她 ...

  7. hdu2132

    题目:We once did a lot of recursional problem . I think some of them is easy for you and some if hard ...

  8. CodeForces - 1040B Shashlik Cooking(水题)

    题目: B. Shashlik Cooking time limit per test 1 second memory limit per test 512 megabytes input stand ...

  9. springboot+mybatis+thymeleaf项目搭建及前后端交互

    前言 spring boot简化了spring的开发, 开发人员在开发过程中省去了大量的配置, 方便开发人员后期维护. 使用spring boot可以快速的开发出restful风格微服务架构. 本文将 ...

  10. ubuntu 谷歌浏览器打开时需要输入密码来解锁密码环

    问题: ubuntu14.04, 设置系统自动登陆账户,但每次开机打开 google chromium 浏览器,会要求输入一次密码,来解锁登录密钥环.很麻烦. 解锁登录密钥环:输入密码以解锁您的登录密 ...