我使用自定义编辑器部件创建了一个Web部件。 现在我想在编辑器部分打开时更改Web部件的行为。
我几乎可以通过在CreateEditorParts()方法中设置一个标志来使其工作,除了当用户单击“确定”,“应用”或“取消”时也会触发。页面将在不打开编辑器部分的情况下呈现,但Web部件仍然执行CreateEditorParts方法。
我无法在System.Web.UI.WebControls.WebParts.WebPart类中找到一个可以指示此属性的属性,这看起来很明显应该在哪里;)
..有办法吗?
答案 0 :(得分:2)
您可以使用以下方法检查页面是否处于编辑模式:
WebPartManager wpm = WebPartManager.GetCurrentWebPartManager(Page);
if (wpm.DisplayMode == WebPartManager.EditDisplayMode)
{
//Page is in edit mode
}
我没有对此进行过测试,但你可以在CreateEditorParts()中进行检查,代码只应在编辑部分打开时执行。
答案 1 :(得分:0)
我还没有对它进行过测试,但也许可以选择检查EditorPart本身的可见性。
答案 2 :(得分:0)
如果它可能对其他人有帮助:
有几个 points ,您的WebPart可能会发现其正在显示其EditorPart。其中一个可能适合您的场景:
在WebPart中:
在EditorPart中: