드롭 다운 목록에 대해 선택된 값이없는 경우 기본 빈 옵션 (또는 텍스트 포함)을 포함하는 방법이 있습니까?
답변:
다음은 ViewData [ "Menu"] 항목에 지정된 SelectList (또는 IEnumerable) 앞에 string.Empty를 추가합니다. 선택 항목에는 ID와 이름이 MenuID
있습니다.
<%= Html.DropDownList( "MenuID",
(IEnumerable<SelectListItem>)ViewData["Menu"],
string.Empty ) %>
문서 : DropDownList 메서드
이 쉬운 솔루션은 내 mvc5 프로젝트에서 작동했습니다.
보기 :
@{
Model.ModelItemsList.Add(new ModelItem{ });
SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}
List<>
보기에 표시하려는에 새 항목을 추가하기 만하면 됩니다. 제 경우에는 빈 "ModelItem"을 List<ModelItem> ModelItemList
. 내 ModelItemID가 Guid이기 때문에 컨트롤러 메서드에서 Guid.Empty를 확인하고 코드를 작성해야했습니다. 그게 다야.
여기에 제시된 솔루션은 저에게 매우 잘 작동했습니다. http://forums.asp.net/t/1142484.aspx/1
기본 개념은 사용자가 설정 한 것입니다 AppendDataBoundItems
귀하의 재산 DropDownList
할 true
및 다음을 넣어 asp:ListItem
에 DropDownList
그 모든 데이터 바인딩 된 항목이 뒤에 오는 기본 항목이 될 것이다.
-1
이것은 MVC가 아닌 ASP.NET Web Forms 용입니다.