0

MVC 5 인터넷 응용 프로그램을 코딩 중이며 모델이 유효성을 검사하지 않으면 오류가보고됩니다.modelstate가 유효하지 않은 경우에만 MVC보기 예외가 발생합니다.

이 다음과 같이 오류가 내 생성 뷰에 있습니다 :

'System.InvalidOperationException'는 System.Web.Mvc.dll에서 발생했지만 사용자 코드에서 처리되지 않은 유형의 예외

추가 정보 : 'assetCategory'키가있는 ViewData 항목의 유형은 'System.String'이지만 'IEnumerable'이어야합니다. 코드 줄에서

:

<div class="form-group"> 
    @Html.LabelFor(model => model.assetCategory, null, htmlAttributes: new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.DropDownListFor(m => m.assetCategory, Model.assetCategories, htmlAttributes: new { @class = "form-control" }) 
     @Html.ValidationMessageFor(model => model.assetCategory, "", new { @class = "text-danger" }) 
    </div> 
</div> 

에만이 오류가 발생합니다 여기

public IEnumerable<SelectListItem> assetCategories { get; set; } 
public string assetCategory { get; set; } 

전체 그룹 코드 : 여기

@Html.DropDownListFor(m => m.assetCategory, Model.assetCategories, htmlAttributes: new { @class = "form-control" }) 

은 관련 분야입니다 모델이 유효하지 않은 경우 모델이 유효성을 검사하면 오류가 발생하지 않고 드롭 다운 목록이 채워지고 assetCategory 문자열에서 선택한 값을 검색 할 수 있습니다.

이 코드에 어떤 도움을 주시겠습니까?

+0

컨트롤러 코드를 표시하지 않았지만 유효하지 않은 경우보기를 반환 할 때 model.assetCategories의 'SelectList'를 다시 할당 했습니까? –

+0

스티븐 감사합니다, 내가해야 할 모든 것입니다. – user3736648

답변

0

Model.assetCategories를 null로 전달하지 않았는지 확인하고,이 오류가 throw하는 다른 곳에서 해당 속성에 대해 데이터가로드되었는지 확인해야합니다.