【问题标题】:Regarding SPLongOperation Object In SharePoint 2007关于 SharePoint 2007 中的 SPlongOperation 对象
【发布时间】:2009-07-03 13:46:19
【问题描述】:

我在我的项目中使用 SPLongOperation 对象在导航到新页面时引入延迟。内置页面使用默认的 css 样式和品牌。

我想自定义此页面设计并应用我自己的主题和品牌。

请告诉我如何将自定义母版页应用到显示具有动画 gears_an.gif 图像的 SharePoint 2007 Spin Wheel 的页面。

提前致谢。

【问题讨论】:

标签: sharepoint sharepoint-2007 sharepoint-api object-model


【解决方案1】:

Alex 说得对,更改页面布局的唯一(不受支持!)方法是在每个 WFE 的文件系统上更新 gear.aspx。请注意,除非您使用的是 LAYOUTS 副本,否则这将是整个农场范围内的更改,如果您决定采用这条路线,通常建议您这样做。

如果你真的想变得聪明一点,操作的LeadingHTML 和TrailingHtml 属性的值在写入响应流之前不会被转义。您可以使用其中一个属性来编写 <script> 来操作 DOM、注入样式表链接等。

更新:我整理了一个脚本注入的快速概念验证here。

【讨论】:

    【解决方案2】:

    我不同意唯一的做法是修改 OOB 文件。

    您可以通过开发自定义 HTTPModule 来解决此问题,而无需违反规则。这个 HTTPModule 会检测你是否正在访问有问题的页面,并根据以下 sn-p 修改其母版页:

    private void page_PreInit(object sender, EventArgs e)
    {
      Page page = sender as Page;
      // Do your checking/filtering here
      if (true)
      {
        page.MasterPageFile = "<whatever you have.master";
      }
    }
    

    【讨论】:

    • 除了 SPLongOperation 只是直接写入响应流而不处理主机页面的主/控制层次结构。 HttpModule 通常是一种选择,但我认为它在这里没有帮助。
    【解决方案3】:

    不幸的是,SPLongOperation 类是密封的,并且还会对 gears ASPX 文件进行硬编码。

    看来您可以更改此设置的唯一方法是编辑12\template\layouts\gear.aspx 文件。请注意,这可能会导致更改此文件的未来产品更新出现问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 2014-01-28
      相关资源
      最近更新 更多