ASP.NET MVC 2에서는 정적 옵션을 제공하는 매우 간단한 드롭 다운 목록을 작성하고 싶습니다. 예를 들어 “빨간색”, “파란색”및 “녹색”중 하나를 선택하고 싶습니다.
답변
이 MSDN 기사 와 Stack Overflow에 대한 사용법 예제를 참조하십시오 .
Linq / POCO 클래스는 다음과 같습니다.
public class Color
{
public int ColorId { get; set; }
public string Name { get; set; }
}
그리고 다음 모델이 있다고 가정 해 봅시다.
public class PageModel
{
public int MyColorId { get; set; }
}
마지막으로 다음과 같은 색상 목록이 있다고 가정 해 봅시다. Linq 쿼리, 정적 목록 등에서 올 수 있습니다.
public static IEnumerable<Color> Colors = new List<Color> {
new Color {
ColorId = 1,
Name = "Red"
},
new Color {
ColorId = 2,
Name = "Blue"
}
};
보기에서 다음과 같이 드롭 다운 목록을 작성할 수 있습니다.
<%= Html.DropDownListFor(n => n.MyColorId,
new SelectList(Colors, "ColorId", "Name")) %>
답변
<%:
Html.DropDownListFor(
model => model.Color,
new SelectList(
new List<Object>{
new { value = 0 , text = "Red" },
new { value = 1 , text = "Blue" },
new { value = 2 , text = "Green"}
},
"value",
"text",
Model.Color
)
)
%>
또는 수업을 쓰지 않을 수도 있습니다. 이와 같은 것을 뷰에 직접 넣으십시오.
답변
모델에서 사전으로 시작하여 뚱뚱한 핑거링을 피하십시오.
namespace EzPL8.Models
{
public class MyEggs
{
public Dictionary<int, string> Egg { get; set; }
public MyEggs()
{
Egg = new Dictionary<int, string>()
{
{ 0, "No Preference"},
{ 1, "I hate eggs"},
{ 2, "Over Easy"},
{ 3, "Sunny Side Up"},
{ 4, "Scrambled"},
{ 5, "Hard Boiled"},
{ 6, "Eggs Benedict"}
};
}
}
보기에서 표시 할 목록으로 변환
@Html.DropDownListFor(m => m.Egg.Keys,
new SelectList(
Model.Egg,
"Key",
"Value"))
답변
안녕하세요, 하나의 프로젝트에서 내가 한 일이 있습니다.
@Html.DropDownListFor(model => model.MyOption,
new List<SelectListItem> {
new SelectListItem { Value = "0" , Text = "Option A" },
new SelectListItem { Value = "1" , Text = "Option B" },
new SelectListItem { Value = "2" , Text = "Option C" }
},
new { @class="myselect"})
누군가에게 도움이되기를 바랍니다. 감사
답변
또는 데이터베이스 컨텍스트에서 온 경우 사용할 수 있습니다.
@Html.DropDownListFor(model => model.MyOption, db.MyOptions.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }))
답변
“하나의 항목을 선택하십시오”
@Html.DropDownListFor(model => model.ContentManagement_Send_Section,
new List<SelectListItem> { new SelectListItem { Value = "0", Text = "Plese Select one Item" } }
.Concat(db.NameOfPaperSections.Select(x => new SelectListItem { Text = x.NameOfPaperSection, Value = x.PaperSectionID.ToString() })),
new { @class = "myselect" })
코드에서 파생 됨 : Master Programmer && Joel Wahlund ;
King Reference : https://stackoverflow.com/a/1528193/1395101 JaredPar ;
감사합니다 마스터 프로그래머 && Joel Wahlund && JaredPar ;
행운을 빌어 친구.
답변
@using (Html.BeginForm()) {
<p>Do you like pizza?
@Html.DropDownListFor(x => x.likesPizza, new[] {
new SelectListItem() {Text = "Yes", Value = bool.TrueString},
new SelectListItem() {Text = "No", Value = bool.FalseString}
}, "Choose an option")
</p>
<input type = "submit" value = "Submit my answer" />
}
이 답변은 Berat의 것과 비슷하다고 생각합니다. DropDownList의 모든 코드를 뷰에 직접 넣었다는 점입니다. 그러나 이것이 ay / n (부울) 드롭 다운 목록을 만드는 효율적인 방법이라고 생각하므로 공유하고 싶었습니다.
초보자를위한 참고 사항 :
- ‘x’가 무엇인지 걱정하지 마십시오. 여기에서 처음으로 생성되며 MVC 앱의 다른 곳에서는 연결되지 않으므로 ‘x’, ‘모델’, ‘m’등
- 드롭 다운 목록에 사용자에게 표시되는 자리 표시자는 “옵션 선택”이므로 원하는 경우이를 변경할 수 있습니다.
- 드롭 다운 앞에 “피자 좋아하니?”라는 텍스트가 약간 있습니다.
- 제출 버튼을 포함한 양식의 완전한 텍스트 여야합니다.
이것이 누군가를 돕기를 바랍니다.