关于SharePoint 2007中的SPLongOperation对象

时间:2009-07-03 13:46:19

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

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

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

请告诉我如何将自定义母版页应用于显示带有动画gears_an.gif图像的SharePoint 2007旋转轮的页面。

提前致谢。

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:2)

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

您可以通过开发自定义HTTPModule来解决此问题而不会破坏规则。此HTTPModule将检测您是否正在访问相关页面并根据以下代码段修改其母版页:

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";
  }
}

答案 2 :(得分:0)

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

看起来你可以通过编辑12\template\layouts\gear.aspx文件来改变它的唯一方法。请注意,这可能会导致将来更新此文件的产品更新出现问题。