내가 사용하고 속성 정의가 비어 있습니다 그런 다음보기에서 사용자 지정 특성 값을 읽고 싶습니다. Type type = Model.GetType();ASP.NET MVC5 사용자 정의 속성은
@model AggregationFiltersViewModel
@{
Type type = Model.GetType();
ExcludeFilterAttribute[] AttributeArray = (ExcludeFilterAttribute[])type.GetCustomAttributes(typeof(ExcludeFilterAttribute), false);
ExcludeFilterAttribute fa = AttributeArray[0];
}
그런
@if (fa.FilterToExclude != "Categories")
{
<th>Category:</th>
<td>@Html.DropDownListFor(m => m.SelectedCategoryId, Model.Categories)</td>
}
그러나, 사용자 정의의 배열이 속성은 비어 있습니다, 그래서 나는 다음과 같은 오류 얻을 :
Index was outside the bounds of the array. System.IndexOutOfRangeException: Index was outside the bounds of the array.
가 어떻게 사용자 정의 속성의 값을 얻을 수 있습니까? 값 모델 변수를 전달할 수 있지만 커스텀 애트리뷰트를 사용하면 커다란 콜렉션을 제외시킬 때 더 쉬워진다.
속성은 모델을 볼 수 없습니다, 컨트롤러 클래스의'AggregationClientBase' 방법 내에서 정의된다. –