2016-12-21 3 views
0

Umbraco에서 텍스트 배열을 표시하는 방법을 알 수 없습니다. 면도기 뷰에서 "반복 가능한 텍스트 문자열"속성 값을 표시하려고합니다.UmbracoHelper를 사용하여 텍스트 배열 표시

@inherits Umbraco.Web.Mvc.UmbracoViewPage<MyModel> 

이 내가 Model.someVariable을 통해 정상적인 방법을 umbraco 필드에 액세스 할 수 없음을 의미합니다 :

는 그래서 같은 모델을 통과까지 설정 한 Umbraco를 볼 수 있습니다. .Field()가 IHtmlString로 변환으로,

@Umbraco.Field("mainColour") 

을하지만이 "반복 텍스트 문자열"속성 형식으로 작동하지 않는 대신,이 같은 텍스트 내용을 표시 UmbracoHelper을 사용하고있다.

페이지의 텍스트 문자열을 모두 표시하려면 어떻게해야합니까?

답변

0

모델이 ModelsBuilder 모델입니까? 그렇다면, 당신은 할 수 있어야한다 :

@(Model.Content.GetPropertyValue<IEnumerable<string>>("mainColour")) 

당신은 핵심 속성 값을 설치해야 할 수 있습니다 :

@Model.Content.GetPropertyValue("mainColour") 

문자열의 배열로 속성을 설정하려면 해당 구문을 변경할 수 있습니다 변환기를 작동시켜야합니다.

+0

불행하게도 아니, 내가 대신 MyModel로 모델을 채 웁니다. @Model을 사용하지 않고이를 수행 할 방법을 찾고 있습니다. –

+0

현재 umbrac 노드에서 MyModel을 매핑합니까? – Tim

+0

아니요, 공유 라이브러리의 일부이므로 편집 할 수 없습니다. 해킹 ㅡ 해결책을 찾았습니다. 답변으로 게시 해 드리겠습니다. –

0

여기에 나온 해킹 해결책이 있습니다.

컨트롤러 (Umbraco.Web.Mvc.RenderMvcController 확장)를 사용하여 페이지의 MyModel을 렌더링합니다.

컨트롤러에서 CurrentPage를 사용하여 데이터를 가져온 다음 ViewBag에 배치하여 표시 할 수 있음을 알았습니다. 그래서 틱 점의 배열을 표시하기 위해 :

ViewBag.tickPoints = CurrentPage.GetPropertyValue<string[]>("tickPoints");