自定义PropertyGridEditor等用于Web部件编辑区域?

时间:2011-11-04 10:33:24

标签: c# asp.net web-parts

我想更改默认编辑器部件的外观,并且我不确定如何执行此操作,因为似乎缺少关于该主题的文档。

我已经能够使用一些试验和错误创建一个自定义声明性目录并覆盖RenderCatalogPart方法,现在希望用我的AppearanceEditor和PropertyGridEditor做类似的事情。我已经尝试过使用CSS改变编辑器部分的样式,但它们已经被安排到无法摆脱的表格中。因为课程是密封的,所以甚至不可能只按原样上课。所以我基本上不得不从头开始写自己的,我想问题如下:

1)如何获取有关我需要渲染的控件的信息?

2)根据文档,我需要覆盖ApplyChagnes和SyncChanges方法 - 但我找不到任何关于我实际需要放在这些方法中的信息。

3)在类似的说明中,是否可以更改EditorPart本身的布局,以便AppearanceEditor,BehaviourEditor等并排显示而不是在彼此之上?

4)有没有办法让页面目录显示在页面的某个位置,即使在浏览模式下?我非常希望将它用作“最小化”区域,用户可以在其中发送他们不想立即发布的Web部件。目前他们回到页面目录,用户往往只是添加一个新的部分。我知道我可以在页面上有多个目录区域,这很好,但它只在目录模式下显示。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我在这里没有收到任何回复,但我能找到办法解决这些问题。

  1. 最后,我决定使用反射来获取WebBrowsable的Web部件上的每个公共属性,并确定从类型中显示哪种控件。
  2. ApplyChanges()和SyncChanges()方法基本上只是将页面中的更改保留到个性化blob,反之亦然。这是在页面上呈现一些控件,并在这些方法中将值映射到Web部件的属性。
  3. 如果不自己编写,我认为这是不可能的。
  4. 无法做到这一点,但我不认为这可能是悲伤的。