나는 응용 프로그램에서 일반적으로 YesNo 종류의 드롭 다운을 사용합니다. 이를 위해 필자는 향후 확장을 위해 model (오히려 ViewModel Utility) 클래스를 개발했습니다. 그런 다음기본적으로 부울 false를 선택하는 DropDownListFor (...)
public string Text { get; set; } // represents text part
public bool Value { get; set; } // represent value
public List<DropDown> DropDowns { get; set; } //list for binding
public void BuildYesNoDropDown()
{
DropDowns = new List<DropDown>();
DropDowns.Add(new DropDown { Text = "Yes", Value = true });
DropDowns.Add(new DropDown { Text = "No", Value = false });
}
, 나는 다음과 같이보기로 바인딩 :
보기에@Html.DropDownListFor(x => x.SelectedValue, new SelectList(Model.DropDowns, "Value", "Text",1),"Select") //last para - OptionLabel
, 모든 세 개의 매개 변수가 "예"와 "아니오"를 표시 즉 "선택"을 얻고있다. 그러나 기본적으로 "아니오"가 선택되었습니다. "Value"속성을 정수로 만들면 정상적으로 작동하고 기본적으로 "Select"가 선택되지만 코드에서 언급했듯이 bool 유형과 함께 사용하면 "No"가 선택됩니다.
DataValueField가 bool 일 때 정상적인 작동을 얻으려면 어떻게해야합니까?
감사를 해결했습니다. 그러나 내 질문이 오해 된 것 같아요. 현재 기본적으로 bool 값이 "NO"로 선택되어 있습니다. 대신 OptionLabel을 선택해야하는 "Select"를 원합니다. – StartingFromScratch
다른 사람이 대답하도록하겠습니다. 당신은 그들에게'DropDown' 모델을 제공해야합니다. – Cymen
코드를 게시하기에 충분한 평판이 없다 ... :(문제는 람다 표현식을 사용하는 것입니다. 위의 코드에서 x => x.SelectedValue의 유형은 bool입니다. "값을 제공합니다. 확실하지 않습니다! – StartingFromScratch