dropdown
으로 렌더링되는 간단한 SelectList
을 RazorPages로 생성 된 Create 양식에서 사용하려고합니다. 어떤 이유로 든 SelectList
은 multiple="multiple"
으로 렌더링하고 모든 옵션은 화면에 스크롤 막대가있는 dropdown
대신 표시됩니다. 나는이 문제를 내 컨트롤러와 내가 그 속성을 설정하지 않을 때 원하는 결과를 얻었 기 때문에 익명의 타입으로 SelectListItems
의 "Text"와 "Value"속성을 설정하려고한다는 사실에 있다고 생각한다.SelectList rendering multiple = "multiple"을 사용하지 않으려는 경우
많은 부분이 저에게 매우 새롭습니다. 누군가 내 코드와 관련하여 일반적인 조언을한다면, 고맙겠습니다.
public IActionResult TestCreate()
{
//query items for SelectLists
var users = from u in _context.Users
orderby u.LastName
select u;
var groups = from g in _context.Group
orderby g.Name
select g;
// Loop through queries above and convert to collections of SelectListItems
var enrolleeSelectListItems = from u in users
select new SelectListItem()
{
Value = u.Id.ToString(),
Text = u.LastName + ", " + u.FirstName + " " + u.MiddleName
};
var groupSelectListItems = from g in groups
select new SelectListItem()
{
Value = g.ID.ToString(),
Text = g.Name
};
//convert SelectListItem collections into SelectLists within view
var cfvm = new Models.TestModels.CreateFileViewModel();
cfvm.EnrolleeId = new SelectList(enrolleeSelectListItems, "Value", "Text");
cfvm.GroupId = new SelectList(groupSelectListItems, "Value", "Text");
return View(cfvm);
}
이 내 시야의 관련 부분입니다 : 여기
public class CreateFileViewModel
{
public SelectList EnrolleeId { get; set; }
public SelectList GroupId { get; set; }
[DataType(DataType.Date)]
public DateTime StartDate { get; set; }
public string Status { get; set; }
}
내 컨트롤러 :
<div class="form-group">
<label asp-for="EnrolleeId" class="control-label"></label>
<select asp-for="EnrolleeId" asp-items="Model.EnrolleeId">
<option value="">Select</option>
</select>
</div>
가 여기에 어떻게입니다 여기
내보기 모델입니다 브라우저에서 렌더링 :<select id="EnrolleeId" multiple="multiple" name="EnrolleeId" aria-invalid="false" class="valid">
<option value="">Select</option>
<option value="3e60fabd-6901-45a1-ae2a-5056d77f415c"></option>
<option value="40ce8b6e-62a5-4c3c-808b-90e36d633ec0"></option>
<option value="c0c49df2-da52-4a01-9a8a-47bab6f5496d"></option>
</select>
그걸 고쳤습니다. 빠른 답변 감사합니다! – StateofDK
'SelectList' 속성의 이름을 "EnroleeList"(EnrolleeId)와 같은 이름으로 바꾸는 것이 더 바람직합니다. – Shyju
명확성을 위해 SelectList 속성의 이름을 더 변경 했습니까? 아니면 명명 규칙이나 내가 위반하고있는 것이 있습니까? – StateofDK