Pergunta

Eu tenho uma web part com várias propriedades que são parte de um personalizado ToolPart.Quando eu definir as propriedades gostaria que a webpart para refletir as alterações de propriedade, enquanto ainda a edição, depois de ter clicado em Aplicar/Ok, mas a página ainda está em modo de Edição (eu estou supondo que no ApplyChanges do meu ferramenta personalizada parte).Qualquer idéias?

TIA

Foi útil?

Solução

Isso apenas depende de onde o ciclo de vida de Parte da Web que você utilize as propriedades.

Se você usar os valores cedo, antes do "ToolPane" é clicado em evento para Aplicar/OK, o que faz com que o seu ToolParts ApplyChanges ao fogo e alterar as propriedades, bem, então a mudança não vai aparecer até a próxima pageload.

Se você usar os valores em atraso (após clicado evento), a alteração será exibido "immedately".

Na minha avançadas de web part abaixo alterações TestCCC não vai mostrar até a próxima pageload porque eu chamo EnsureChildControls em PageLoad que o adiciona LiteralControl antes do clicado evento.Alterações TestRC que é a vontade de mostrar imediatamente porque é prestado fora até tarde.

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);
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top