사용자 정의 속성을 편집 한 후 WebPart가 새로 고쳐지지 않습니다
-
09-12-2019 - |
문제
사용자 정의 툴파트의 일부인 여러 속성이있는 WebPart가 있습니다.WebPart가 Apply / OK를 클릭 한 후에도 여전히 편집하는 동안 웹 파트가 속성 변경 사항을 반영하여 페이지가 여전히 편집 모드로 설정되도록 설정할 때 페이지가 여전히 편집 모드 (사용자 정의 도구 부분의 ApplyChanges에서 추측합니다).어떤 아이디어도 있습니까?
티아
해결책
이것은 순전히 속성을 사용하는 웹 파트의 수명주기에있는 위치에 따라 다릅니다.
"ToolPane"이 일찍 사용하면 ApplyParts ApplyChanges가 Fire 및 Contents를 변경하게하는 Apply / OK에 대한 클릭 이벤트를 가져옵니다. 변경 사항은 다음 PageLoad까지 표시되지 않습니다.
늦게 값을 사용하는 경우 (클릭 한 이벤트 후) 변경 사항이 "즉시"표시됩니다.
내 고급 웹 파트에서 TestCCC로 변경되는 내용은 LiterLoad가 클릭 한 이벤트 앞에 LiteralControl을 추가하는 PageLoad에서 ensureChildControl을 호출하기 때문에 다음 PageLoad까지 표시되지 않습니다.늦게 렌더링되기 때문에 즉시 testrc에 대한 변경 사항이 표시됩니다.
public class TestEditWP : WebPart
{
[Personalizable(PersonalizationScope.Shared)]
[WebBrowsable(true)]
public string TestCCC { get; set; }
[Personalizable(PersonalizationScope.Shared)]
[WebBrowsable(true)]
public string TestRC { get; set; }
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
EnsureChildControls();
}
protected override void CreateChildControls()
{
Controls.Add(new LiteralControl(TestCCC));
}
protected override void RenderContents(HtmlTextWriter writer)
{
base.RenderContents(writer);
writer.Write("{0}", TestRC);
}
}
. 제휴하지 않습니다 sharepoint.stackexchange