编辑自定义属性后,WebPart未刷新
-
09-12-2019 - |
题
我有一个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);
}
}
.