我有一个webpart,其中几个属性是自定义工具包的一部分。当我设置PEWPPART时,我希望WebPart反映属性更改,同时在单击应用/确定后仍在编辑时,但页面仍处于编辑模式(我猜测我的自定义工具部分的应用)。任何想法?

tia

有帮助吗?

解决方案

这纯粹取决于您使用该属性的Web部件的生命周期中的位置。

如果在“工具套装”以前使用的值获取“opetPane”以获取Apply / OK的单击事件,导致您的工具分配播放以启动并更改属性,那么更改不会显示出来直到下一个PageLoad。

如果使用迟到的值(在点击的事件之后),则更改将显示“立即”。

在我的高级Web部分下面,TestCCC的更改将不会显示,直到下一个PageLoad,因为我在Pageload中调用EnsureChildControls,在PageLoad中添加了LiteralControl在单击的事件之前。测试rc的变化将立即显示,因为它迟到了。

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归因
scroll top