Vì vậy, tôi có như sau (pseudo code):mvc C# html.dropdownlist và viewbag
string selectedvalud = "C";
List<SelectListItem> list= new List<SelectListItem>();
foreach(var item in mymodelinstance.Codes){
list.Add(new SelectListItem { Text = item.Name, Value = item.Id.Tostring(), Selected = item.Id.ToString() == selectedvalue ? true : false });
}
ViewBag.ListOfCodes = list;
trên quan điểm của tôi:
<%: Html.DropDownList("Codes", (List<SelectListItem>)ViewBag.ListOfCodes , new { style = "max-width: 600px;" })%>
bây giờ, trước khi nó đạt đến xem, "danh sách" đã điền nó với các mục và đã đánh dấu mục đã được chọn. nhưng khi nó được hiển thị, không có tùy chọn nào được đánh dấu là đã chọn.
câu hỏi của tôi là, có thể sử dụng túi xem để chuyển các mục hoặc tôi có nên sử dụng phương tiện khác không? vì nó loại bỏ cờ đã chọn trên các tùy chọn nếu tôi sử dụng nó theo cách đó.
Bạn có thể ngắt điểm trong bộ điều khiển và kiểm tra lại rằng ít nhất một mục của 'danh sách' đã được gắn thẻ là' Đã chọn = true; '? Tôi không nghĩ rằng ViewBag đang rối tung với danh sách của bạn. – StuartLC
vâng tôi đã làm điều đó và nó đang đánh dấu tùy chọn đúng. – gdubs