Webpart não refrescante após a edição de propriedades personalizadas
-
09-12-2019 - |
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
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);
}
}