웹 응용 프로그램에 등록보기가 있습니다. 그러나 계정 등록이 실패하고 내 드롭 다운 메뉴가 빨간색으로 표시됩니다.모델 상태가 잘못된 드롭 다운 메뉴. ASP.NET MVC 3
다음<div class="editor-label">
@Html.LabelFor(model => model.CompanyId, "Company")
</div>
<div class="editor-field">
@Html.DropDownList("Companies", "<Select Company>")
</div>
뷰 모델에서 내 관련 코드입니다 :
여기[Display(Name = "Company")]
public int? CompanyId { get; set; }
public IEnumerable<SelectListItem> Companies { get; set; }
내가보기 컨트롤러 내 관련 코드를 반환하기 전에 : 여기
코드 아래로 내 드롭입니다ViewBag.Companies = new SelectList(db.Companies, "CompanyId", "CompanyName");
내가 디버깅 할 때 ModelState.IsValid
이 false를 반환하므로 t를 다시 반환합니다. 그는보고 (내 경우에는 ViewBag.Companies
을 다시 설정합니다).
성공적으로 등록을 완료하려면 어떻게해야합니까? 필자는 매개 변수 내에서 각 필수 필드를 채 웁니다. 회사를 선택할 필요는 없습니다. 회사를 선택하지 않으면 ModelState.IsValid
이 true를 반환하고 코드를 실행합니다. 그러나 사용자에게 회사와 연결할 수있는 옵션을 제공하고 싶습니다.
감사합니다.
'ModelState'의 오류는 무엇입니까? 오류는'ModelState.Values'의'Errors' 콜렉션에 있어야합니다. – nemesv
{System.InvalidOperationException : 형식 변환기에서 형식 변환 할 수 없으므로 'System.String'형식의 'System.Web.Mvc.SelectListItem'형식으로 매개 변수 변환이 실패했습니다. at System.Web.Mvc.ValueProviderResult.ConvertSimpleType (CultureInfo culture, Object value, Type destinationType) –
@nemesv ^^ 지금이 항목을 살펴보고 있습니다. 'public string CompanyId'에 대한 –