Có cách nào để bao gồm tùy chọn trống mặc định (hoặc với văn bản) nếu không có giá trị được chọn cho danh sách thả xuống không?
Có cách nào để bao gồm tùy chọn trống mặc định (hoặc với văn bản) nếu không có giá trị được chọn cho danh sách thả xuống không?
Câu trả lời:
Bên dưới sẽ thêm string.Empty vào SelectList (hoặc IEnumerable) được chỉ định trong mục ViewData ["Menu"]. Lựa chọn sẽ có id và tên MenuID
.
<%= Html.DropDownList( "MenuID",
(IEnumerable<SelectListItem>)ViewData["Menu"],
string.Empty ) %>
Tài liệu: Phương pháp DropDownList
Giải pháp dễ dàng này đã hoạt động cho dự án mvc5 của tôi:
trong quan điểm:
@{
Model.ModelItemsList.Add(new ModelItem{ });
SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}
Chỉ cần thêm một mục mới vào mục List<>
bạn muốn hiển thị trong chế độ xem của mình. Trong trường hợp của tôi, tôi đã thêm một "ModelItem" trống vào của tôi List<ModelItem> ModelItemList
. Vì ModelItemID của tôi là Hướng dẫn, tôi phải kiểm tra Guid.Empty trong phương thức trình điều khiển của mình và thực hiện một số mã. Đó là tất cả.
Giải pháp được trình bày ở đây hoạt động rất tốt đối với tôi: http://forums.asp.net/t/1142484.aspx/1
Ý tưởng cơ bản là bạn đặt thuộc AppendDataBoundItems
tính của bạn DropDownList
thành true
và sau đó đặt một asp:ListItem
vào DropDownList
và điều đó sẽ trở thành mục mặc định của bạn với tất cả các mục dữ liệu sau nó.
-1
Điều này dành cho ASP.NET Web Forms, không phải MVC.