Domanda

Ho un WebPart con diverse proprietà che fanno parte di un toolpart personalizzato.Quando impostare le proprietà vorrei che il WebPart rifletterebbe di riflettere le modifiche alla proprietà mentre si modifica la modifica dopo aver fatto clic su Applica / OK, ma la pagina è ancora in modalità di modifica (suppongo negli appiccicosi della mia parte utensile personalizzata).Qualche idea?

TIA

È stato utile?

Soluzione

Questo dipende puramente da dove nel ciclo di vita della web part utilizza le proprietà.

Se si utilizzano i valori anticipati prima che il "toolpane" riceva l'evento cliccato per applicare / ok che causa il fuoco degli appiccichi di strumenti per sparare e modificare le proprietà, beh, allora le modifiche non si presentano fino al successivo Pageload.

Se si utilizzano i valori in ritardo (dopo l'evento cliccato), la modifica verrà visualizzata "immediatamente".

Nella mia pagina web avanzata sotto le modifiche a TestCCC non verrà visualizzata fino al successivo Pageload perché chiamo EnsureChildControls in Pageload che aggiunge il collegamento letterale prima dell'evento cliccato.Modifiche a Testrc che si mostrerà immediatamente perché è reso in ritardo.

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);
    }
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top