문제

사용자 정의 툴파트의 일부인 여러 속성이있는 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);
    }
}
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top