首先先构建绑定下拉框的数据源
private void GetSalesList() { var userList = _rmaExpressAppService.GetUserList(); TempData["RMASalesList"] = new SelectList(userList, "Id", "UserName");//选择 userList中的Id作为 Value,选择·UserName 作为Text显示 }
然后构建前台,推荐用Html.DropDownListFor , model.Model.SaleExecutor 既可以在选择的时候将对应的Value传回去,也可以在初始化的时候给字段赋默认值
@Html.DropDownListFor(model => model.Model.SaleExecutor, TempData["RMASalesList"] as SelectList, new { @class = "form-control" })
注意初始化的时候要先赋值给前台
/// <summary> /// 新增快递单-初始空页面 /// </summary> [HttpGet] [AccessGroup(GroupKey = "RMAExpress_Add")] public ActionResult Add(RMAExpressDetailInfo model) { GetSalesList();//为前台下拉框绑定值做准备 model.Model.SaleExecutor = userId;//传默认值给前台 return View(model); }
在提交的时候,会自动把值映射到对应的模型中,当然特殊需要的时候可以通过Jquery单独获取选中值
var saleUserId = $("#Model_SaleExecutor").find("option:selected").val();//找到下拉框的选中的Value