猿问

使用 SelectListItem 设置 DropDownList 的选定值

虽然这个问题已经被问过好几次了,但我仍然在努力寻找解决问题的方法


我有一个下拉列表,我想在检索数据时绑定选定的值。这是我的控制器


studentList = db.Students

                    .Select(x => new SelectListItem

                    {

                        Value = x.StudentId.ToString(),

                        Text = x.StudentNo + " - " + x.StudentNameEn

                    }).ToList();

                ViewData["studentList"] = studentList;

这是我的观点


 @Html.DropDownList("StudentNo", ViewData["studentList"] as List<SelectListItem>, "---Please Select---", new { @class = "form-control selectpicker", id = "studentIdDrp" })

我试过的


我尝试使用 jquery 绑定值


$("#studentIdDrp").val('@Model.AppointmentViewModel.FK_StudentId');

我尝试从控制器中将所选属性设置为 true


foreach(var item in studentList)

            {

                if (item.Value == appoinmnetRec.FK_StudentId.ToString())

                {

                    item.Selected = true;

                }

            }

以上方法均无效。请帮助,提前致谢


跃然一笑
浏览 198回答 1
1回答

白衣非少年

我试图重现你的问题。在我的机器中,选择的值有效。控制器:namespace WebApplication2.Controllers{&nbsp; &nbsp; public class HomeController : Controller&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; public ActionResult Index()&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ViewBag.Title = "Home Page";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var studentList = new List<SelectListItem>()&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new SelectListItem {Text = "ABC", Value = "1"},&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new SelectListItem {Text = "CDE", Value = "2"},&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ViewData["studentList"] = studentList;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return View();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; public ActionResult Student()&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var studentList = new List<SelectListItem>()&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new SelectListItem {Text = "Peter Cech", Value = "S001"},&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new SelectListItem {Text = "Leo Messi", Value = "S002"},&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ViewData["studentList"] = studentList;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; AppointmentViewModel model = new AppointmentViewModel();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; model.FK_StudentId = "S001";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return View(model);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; public class AppointmentViewModel&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; public string FK_StudentId { get; set; }&nbsp; &nbsp; }}查看:Student.cshtml@model WebApplication2.Controllers.AppointmentViewModel@{&nbsp; &nbsp; ViewBag.Title = "Student";}<h2>Student</h2><script src="~/Scripts/jquery-1.10.2.js"></script>@Html.DropDownList("StudentNo", ViewData["studentList"] as List<SelectListItem>, "---Please Select---", new { @class = "form-control selectpicker", id = "studentIdDrp" })<script>&nbsp; &nbsp; $(document).ready(function () {&nbsp; &nbsp; &nbsp; &nbsp; $("#studentIdDrp").val('@Model.FK_StudentId');&nbsp; &nbsp; });</script>
随时随地看视频慕课网APP
我要回答