DropDownList
면도기 뷰 를 만들려고합니다 .
누군가 나를 도와 줄까요?
일반적인 HTML5 코드 :
<select id="dropdowntipo">
<option value="Exemplo1">Exemplo1</option>
<option value="Exemplo2">Exemplo2</option>
<option value="Exemplo3">Exemplo3</option>
</select>
나는 이것을 시도했다 :
@{
var listItems = new List<ListItem> {
new ListItem { Text = "Exemplo1", Value = "Exemplo1" },
new ListItem { Text = "Exemplo2", Value = "Exemplo2" },
new ListItem { Text = "Exemplo3", Value = "Exemplo3" }
};
}
@Html.DropDownListFor(model =>
model.tipo,
new SelectList(listItems),
"-- Select Status --"
)
답변
@{
List<SelectListItem> listItems= new List<SelectListItem>();
listItems.Add(new SelectListItem
{
Text = "Exemplo1",
Value = "Exemplo1"
});
listItems.Add(new SelectListItem
{
Text = "Exemplo2",
Value = "Exemplo2",
Selected = true
});
listItems.Add(new SelectListItem
{
Text = "Exemplo3",
Value = "Exemplo3"
});
}
@Html.DropDownListFor(model => model.tipo, listItems, "-- Select Status --")
답변
@{var listItems = new List<ListItem>
{
new ListItem { Text = "Exemplo1", Value="Exemplo1" },
new ListItem { Text = "Exemplo2", Value="Exemplo2" },
new ListItem { Text = "Exemplo3", Value="Exemplo3" }
};
}
@Html.DropDownList("Exemplo",new SelectList(listItems,"Value","Text"))
답변
이것을 사용할 수 있습니다 :
@Html.DropDownListFor(x => x.Tipo, new List<SelectListItem>
{
new SelectListItem() {Text = "Exemplo1", Value="Exemplo1"},
new SelectListItem() {Text = "Exemplo2", Value="Exemplo2"},
new SelectListItem() {Text = "Exemplo3", Value="Exemplo3"}
})
답변
// ViewModel
public class RegisterViewModel
{
public RegisterViewModel()
{
ActionsList = new List<SelectListItem>();
}
public IEnumerable<SelectListItem> ActionsList { get; set; }
public string StudentGrade { get; set; }
}
// 계급 클래스 :
public enum GradeTypes
{
A,
B,
C,
D,
E,
F,
G,
H
}
// 컨트롤러 동작
public ActionResult Student()
{
RegisterViewModel vm = new RegisterViewModel();
IEnumerable<GradeTypes> actionTypes = Enum.GetValues(typeof(GradeTypes))
.Cast<GradeTypes>();
vm.ActionsList = from action in actionTypes
select new SelectListItem
{
Text = action.ToString(),
Value = action.ToString()
};
return View(vm);
}
// 조치보기
<div class="form-group">
<label class="col-lg-2 control-label" for="hobies">Student Grade:</label>
<div class="col-lg-10">
@Html.DropDownListFor(model => model.StudentGrade, Model.ActionsList, new { @class = "form-control" })
</div>
답변
가장 쉬운 대답은 다음과 같습니다.
귀하의보기에는 다음을 추가하십시오.
@Html.DropDownListFor(model => model.tipo, new SelectList(new[]{"Exemplo1",
"Exemplo2", "Exemplo3"}))
또는
컨트롤러에서 다음을 추가하십시오.
var exemploList= new SelectList(new[] { "Exemplo1:", "Exemplo2", "Exemplo3" });
ViewBag.ExemploList = exemploList;
그리고 당신의보기는 다음을 추가합니다 :
@Html.DropDownListFor(model => model.tipo, (SelectList)ViewBag.ExemploList )
Jess Chadwick과 함께 배웠습니다
답변
내가 할 수있는 많은 옵션을 시도했으며
여기에 대답했습니다.
하지만 항상 프론트 엔드 개발자와 백엔드 개발자 모두가 알고있는 최선의 방법과 최선의 방법을 찾습니다. for loop
(예 : 농담이 아님)
프론트 엔드가 더미 데이터가있는 UI 페이지를 제공 할 때 특정 선택 옵션에 클래스와 일부 인라인 스타일을 추가 hard to deal
하여HtmlHelper
이것 좀 봐 :
<select class="input-lg" style="">
<option value="0" style="color:#ccc !important;">
Please select the membership name to be searched for
</option>
<option value="1">11</option>
<option value="2">22</option>
<option value="3">33</option>
<option value="4">44</option>
</select>
이것은 프론트 엔드 개발자의 것이므로 가장 좋은 해결책은 for 루프를 사용하는 것입니다.
fristly create
또는 get your list
컨트롤러 액션 (…)로부터 데이터 및 뷰 모델, ViewBag이든에 넣어
//This returns object that contain Items and TotalCount
ViewBag.MembershipList = await _membershipAppService.GetAllMemberships();
두 번째로보기 에서이 간단한 for 루프를 수행하여 드롭 다운 목록을 채 웁니다.
<select class="input-lg" name="PrerequisiteMembershipId" id="PrerequisiteMembershipId">
<option value="" style="color:#ccc !important;">
Please select the membership name to be searched for
</option>
@foreach (var item in ViewBag.MembershipList.Items)
{
<option value="@item.Id" @(Model.PrerequisiteMembershipId == item.Id ? "selected" : "")>
@item.Name
</option>
}
</select>
이런 식으로 UI 디자인을 깨뜨리지 않으며 간단하고 쉽고 읽기 쉽습니다.
면도기를 사용하지 않아도 도움이 되길 바랍니다.
답변
배열을 사용하는 것이 목록을 만드는 것보다 조금 더 효율적입니다.
@Html.DropDownListFor(x => x.Tipo, new SelectListItem[]{
new SelectListItem() {Text = "Exemplo1", Value="Exemplo1"},
new SelectListItem() {Text = "Exemplo2", Value="Exemplo2"},
new SelectListItem() {Text = "Exemplo3", Value="Exemplo3"}})