2012-03-06 6 views
0

크기가 인 전체 HTML 유형으로 RichHtmlField 사이트 콘텐츠 형식을 사용하고 있습니다. 안녕 PublishingWebControls : layoutpage의 RichHtmlField 태그가 렌더링하지 않습니다.PublishingWebControls : RichHtmlField 렌더링이 작동하지 않습니다.

대신 hello을 표시하십시오. html 태그를 표시하고 있습니다.

도움이 되었습니까?

감사

+0

RichHtmlField는 HTML 유형입니다. 그것의 텍스트가 아니다. – user1066421

답변

2

정확하게 동일한 문제를 해결하면서이 게시물을 보았습니다. 답변을 찾은 것 같습니다.

내 시나리오에서는 내 페이지에 여러 개의 RichHtmlField가 있고 다른 하나는 올바르게 표시됩니다.

RichText="True" 
RichTextMode="FullHtml" 

내가 문제 필드를 업데이트하는 빠른 PowerShell 스크립트를 작성하고, 문제가 도망 갔어요 : 나는 PowerShell을 통해 필드를 볼 때, 나는 SchemaXML의 차이를 발견, 작업 필드는 다음과 같은 추가 속성을 가지고 나를 위해 (아래 스크립트를보십시오). 변경 사항은 목록 수준에서 기존 페이지/목록에 영향을 주도록 변경해야하지만 루트 웹 (또는 올바른 하위 웹)에서 열을 수정하면 효과가 있다고 생각합니다.

$web = $site.OpenWeb($site.RootWeb.ID) 
$list = $web.Lists["Pages"] 
[Microsoft.SharePoint.Publishing.Fields.HtmlField]$field = [Microsoft.SharePoint.Publishing.Fields.HtmlField]$list.Fields.GetFieldByInternalName("Abst  ract") 
$field.RichText = $true 
$field.RichTextMode = [Microsoft.SharePoint.SPRichTextMode]::FullHtml 
$field.Update() 
$list.Update() 
0

그것의 당신의 RichHtmlField 안에 넣어 당신의 필드 타입이 아니라 텍스트 HTML의 때문이다.

올바른 컨텐츠 유형이있는 경우 schema.xml에서 목록 인스턴스를 업데이트하기 위해 수행해야 할 작업이 여기에 있습니다.

먼저 콘텐츠 형식의 페이지를 모두 삭제하고 페이지 목록으로 이동하여 콘텐츠 형식의 모든 열을 삭제 한 다음 콘텐츠 형식을 제거하십시오. 사이트 설정으로 이동 한 다음 사이트 콘텐츠 유형을 삭제하십시오. 열에 대해서도 똑같이하십시오. 사이트 설정으로 이동하면 콘텐츠 열의 모든 열이 삭제됩니다 (이미 누락 되었음에도 불구하고).

콘텐츠 형식에서 웹 사이트를 만들 때 콘텐츠 형식의 형식이 지정되는 방식을 설명하는 Schema.xml을 가져 와서 스키마를 인스턴스화하고 페이지에 제공하므로 스키마가 업데이트되면 페이지가 이미 시작된 이후가 아닙니다.

관련 문제