SelectListItem
객체는이를 표시하는 Selected
속성이 있습니다. 그래서 나는 그것이 당신이 SelectList
을 만드는 방법에 달려 있다고 생각합니다. 현재이 작업을 수행 : 작동하지만, 당신에게 개별 SelectListItem
의 아무런 제어 할 수없는
new SelectList(ViewBag.Category, "Text", "Value")
합니다. SelectList
을 만드는 대신 IEnumerable<SelectListItem>
using the same method overload을 만들 수 있습니다. 처음에는 다음과 같이 보일 수 있습니다.
ViewBag.Category.Select(c => new SelectListItem
{
Text = c.Text,
Value = c.Value
});
이 시점에서 개별 항목에 대한 제어 권한이 있습니다. 이제 어떤 것을 선택해야하는지 결정하는 것입니다. 어떻게 결정합니까? 그것은 Category
객체의 속성입니까? 이런 식으로 뭔가가
ViewBag.Category.Select(c => new SelectListItem
{
Text = c.Text,
Value = c.Value,
Selected = c.Selected
});
아니면 다른 어떤 조건을? :? : 당신이 당신에게 달려있다, 그리고 이상적으로 논리적 백업 모델에 추가 할 수있는 뭔가가 여기에 사용되는 결정 방법
ViewBag.Category.Select(c => new SelectListItem
{
Text = c.Text,
Value = c.Value,
Selected = c.SomeValue == SomeCondition
});
.
흥미 롭다. 그런 식으로 생각하지 않았다. 내가 선택한 것들을 어떻게 결정해야하는지에 관해서는, 내가 선택해야하는 값들과 함께 View에 배열을 가지고 있습니다. @ Html.ListBox ("Category", 새로운 MultiSelectList (ViewBag.Category, "Text", "Value", "Array values here"))와 같은 것을 생각하고 있습니다. 그게 아직 작동 할 지 모르겠다. –