내보기에서이 데이터 형식에 대한 사용자 지정 편집기 템플릿을 트리거하는 Html.EditFor()를 호출합니다. 또한 나는 몇 가지 메타 데이터를 전달 (그리고 내가 싫어하는 부분) :ModelMetaData : "부모"- 메타 데이터를 얻는 방법?
<% ModelMetadata metaTitle = ModelMetadataProviders.Current.GetMetadataForProperty(null, Model.GetType(), "Title"); %>
<%: Html.EditorFor(x => Model.Title, new { metaData = metaTitle })%>
건네 유형 (속성 제목) 타입의 '번역'이다. 사용자 정의 편집기 템플릿 내에서 나는 그것을 사용하기 위해을 ViewData에서 전달 된 메타 데이터를 읽을 수있다 : 나는 사용자 정의 편집기 템플릿에서 직접 메타 데이터에 액세스 할 수있는 몇 가지 방법은
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Translation>" %>
// {...}
if (ViewData["metaData"] != null)
metaData = (ModelMetadata)ViewData["metaData"];
있습니까?
ModelMetadata metaData = ModelMetadataProviders.Current.GetMetadataForType(null, Model.GetType());
I : 나는 편집기 템플릿 내에서 다음을 호출하는 경우 불행하게도, 나는 같은 메타 데이터 오브젝트 (예 : 제목 - 속성이 필요하거나하지 않은 경우 정보가 누락)를받지 않습니다 각 호출마다 메타 데이터 개체를 전달하지 않으려합니다.
모든 tipp에 Thx! sl3dg3
당신은 절대적으로 옳았습니다. 그것은 제가 찾고 있던 것이 었습니다. 마침내 그것을 검증 할 수있었습니다. – sl3dg3
+1 - 좋은 찾기 ...이 API는 매우 강력하지만 직관적이지 않습니다. –