MOSS 2007 编辑模型面板

发布于 2024-10-12 06:46:05 字数 329 浏览 0 评论 0原文

我正在编写一个 Web 控件,在其中重写 CreateChildControls 方法。在此方法中,我创建一个 EditModelPanel,向其中添加一个按钮,然后将 EditModePanel 添加到我的 Web 控件的 Controls 集合 (this.Controls.Add(xxx))。问题是该按钮在显示模式和编辑模式下都会显示。我尝试设置 EditModelPanel 的 PageDisplayMode 属性和 SuppressTag 属性,但没有任何效果。

为什么以编程方式添加 EditModePanel 时会失败?

我用谷歌搜索了这个问题,其他人也遇到了完全相同的问题,但他没有得到回应。

I am writing a web control where I'm overriding the CreateChildControls method. In this method I create an EditModelPanel, add a button to it and then add the EditModePanel to my web control's Controls collection (this.Controls.Add(xxx)). The problem is that the button shows up in both Display mode and Edit mode. I've tried setting EditModelPanel's PageDisplayMode property and SuppressTag property and nothing works.

Why does the EditModePanel fail when adding it programatically?

I've googled this issue and someone else had the exact same problem but he got no response.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悲欢浪云 2024-10-19 06:46:05

首先,您可以从控件内部检测是否处于编辑模式并且不创建子控件。这样您就不需要 editmodepanel。

我重构了 editmodepanel 类,它的作用有点不同。它实现了IParserAccessor,逻辑位于接口的AddParsedSubObject()方法中。我认为通过手动添加控件,您可以绕过 IParserAccessor。希望这有帮助。

Firstly, You can detect from within your control if you are in edit mode and not create the child controls. This way you will not need the editmodepanel.

I have refactored the editmodepanel class, and it does things a bit differently. It implements IParserAccessor and the logic is in AddParsedSubObject() method of the interface. I think by manually adding the controls, you are bypassing the IParserAccessor. Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文