首页 > 代码库 > ASP.NET MVC4.0 DropDownListFor 设置默认选项
ASP.NET MVC4.0 DropDownListFor 设置默认选项
public ActionResult Edit(long id = 0) { Post post = db.Post.Find(id); if (post == null) { return HttpNotFound(); } ViewBag.content = post.content; ViewBag.cates = new SelectList(db.PostCate, "id", "name", post.cate_id); ViewBag.updetp = new SelectList(db.Bank, "id", "name", post.updept_id); var ds = from d in db.Department where d.updep == post.updept_id select new { d.id, d.name }; ViewBag.depts = new SelectList(ds, "id", "name", post.dept_id); return View("~/Views/Post/Edit.cshtml", post); }
<p> <label for="cate_id">类别:</label> @Html.DropDownListFor(model=>model.cate_id, ViewBag.cates as IEnumerable<SelectListItem>) @Html.ValidationMessage("cate_id", "请选择公告类型") </p> <p> <label for="updetp">分行:</label> @Html.DropDownListFor(model=>model.updept_id, ViewBag.updetp as IEnumerable<SelectListItem>, String.Empty, new { style = "width:180px" }) @Html.ValidationMessage("updept_id", "请选择分行") </p> <p> <label for="dept_id">机构:</label> @Html.DropDownListFor(model => model.dept_id, ViewBag.depts as IEnumerable<SelectListItem>,string.Empty, new { style = "width:180px" }) @Html.ValidationMessage("dept_id", "请选择发布机构") </p>
关键点在于ViewBag.XX不能与字段名同名。否则无法设置默认值。应该是因为冲突。
例如:
@Html.DropDownListFor(model => model.dept_id, ViewBag.depts as IEnumerable<SelectListItem>,string.Empty, new { style = "width:180px" })
不能写成:
@Html.DropDownListFor(model => model.dept_id,ViewBag.dept_id as IEnumerable<SelectListItem>,string.Empty, new { style = "width:180px" })
ASP.NET MVC4.0 DropDownListFor 设置默认选项
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。