채워진 뷰 모델로 뷰를 렌더링하고 있습니다. Visual Studio의 직접 실행 창은 렌더링 시점에 제목 및 국가가 값을 설정했지만 국가 값만 정확하다는 것을 확인합니다. 제목이 첫 번째 SelectListItem 값으로 되돌려졌습니다.Html.DropDownList 필드가 뷰 모델의 값을 표시하지 않습니다.
드롭 다운의 소스를 전환하면 (둘 다 동일한 도우미를 사용할 수 있음) 어떤 소스를 사용하든 상관없이 Title 속성은 항상 기본값 인 첫 번째 항목으로 돌아갑니다.
대신 @ Html.TextBoxFor ...를 사용하면 값이 올바르게 표시됩니다. 제 질문은 더 많은 도움을주는 것입니다 - 어떤 행동을 일으킬 수 있습니까?
MyViewModel
public string Title {get; set;}
public string Country {get; set;}
보기
...
ViewBag.Title = "Test"
...
@Html.DropDownListFor(x => x.Title, CertificateFormHelpers.GenerateTitles(), new {@class = "form-select"})
@Html.DropDownListFor(x => x.Country, Countries.All(), new { @class = "form-select" })
업데이트 :보기가 충돌하는 속성 이름을했다. 이 선언을 포함하도록 뷰를 업데이트했습니다.
첫 번째 옵션을 선택하면 'Title'값이 옵션 값 중 하나와 정확하게 일치하지 않음을 의미합니다. –
사실 내 이해했습니다. 그러나 단순히 도우미를 전환해도 가치가 일치하더라도 Title은 작동하지 않습니다. 그것은 확실히 일치합니다. – ManxJason
무슨 뜻입니까? 단순히 도우미를 바꾸면 _? 그리고 그들은 일치하지 않습니다. 'Title'의 값이''abc''이고 당신이 생성하는 옵션 중 하나가'value = "abc"'로 선택 될 경우 –