【问题标题】:Sharepoint Webpart inheritanceSharepoint Webpart 继承
【发布时间】:2013-08-29 20:38:04
【问题描述】:

我想为我的网站创建一堆 Webpart, 所有 webpart 周围都有一个共同的特殊边框。 所以他们的 .ascx 看起来像:

<div class="my_special_border">
    <div class="web_part_content">
        bla bla
    </div >
</div>

我想避免每个 webpart 中的边框重复(主要是因为它不是一个“div”,而是一个更复杂的布局)。

我在考虑webpart继承, base 将提供边框,每个继承者将提供自己的内容。

所以我有一个“BaseWebpart”,我在其中放置了我的特殊边框。 如何使派生 WebPart 的内容进入基本边框? 我需要它易于使用,因此其他开发人员可以通过仅从我的 Base 继承来添加自己的 webpart。 所以基本上,我不想要 DerivedWebpart 中的任何特殊代码(除了继承)

我怎样才能做到这一点?

【问题讨论】:

    标签: html sharepoint inheritance web-parts


    【解决方案1】:

    我认为您必须在 basewebpart 后面的代码中执行此操作。在 basewebpart 中重写 Render 方法。在 base.Render 之前,写下 2 个 div 的开始标签。在 base.render 之后写结束标签。

    然后让您的所有 Web 部件都从 BaseWebPart 继承。

    免责声明:我自己没有尝试过,所以我只是在这里吐口水。但我认为这会奏效。

    【讨论】:

    • 我试过了,效果很好。我无法使用 HtmlTextWriter WriteBeginTag / WriteEndTag 因为调用 base.Render() 搞砸了 DOM。所以我用简单的字符串代替
      etc.
    【解决方案2】:

    我会尝试使用不同 Web 部件使用的通用资源文件。在后面的代码中,根据需要将资源文件的内容添加到渲染内容的顶部/底部。

    【讨论】:

      猜你喜欢
      • 2018-07-15
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      • 2010-10-09
      • 2011-11-01
      • 2011-12-14
      • 2020-11-07
      相关资源
      最近更新 更多