覆盖Chrome类型Webpart

时间:2011-03-28 07:33:06

标签: sharepoint sharepoint-2010 web-parts

我在Sharepoint 2010中创建了一个Webpart,我需要将“Chrome Type”属性设置为“None”值。

我一直在寻找方法强制将Combobox强制为“无”,或者覆盖C#类中的“Chrome类型”,但我没有找到任何办法。设置此属性的最佳方法是什么?

Override Chrometype

3 个答案:

答案 0 :(得分:27)

另一个选项是使用.webpart文件使用ChromeType属性将其指定为默认值。您可以在Visual Studio解决方案中执行此操作(如下所示),也可以直接在Web部件库中编辑.webpart文件。

由于这是一种无代码方法,它似乎比C#路由更简单。

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<webParts>
  <webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
    <metaData>
      <type name="<<ClassName>>, $SharePoint.Project.AssemblyFullName$" />
  <importErrorMessage>$Resources:core,ImportErrorMessage;</importErrorMessage>
</metaData>
<data>
  <properties>
    <property name="Title" type="string">Custom List Form</property>
    <property name="Description" type="string">Provides A Data Entry Form For a SharePoint List</property>
    <!-- SEE CHROME TYPE BELOW -->    
    <property name="ChromeType" type="chrometype">None</property>
  </properties>
</data>
</webPart>
</webParts>

答案 1 :(得分:7)

您应该能够在代码中修改Web部件的.ChromeType属性。

请记住在Web部件生命周期中执行此操作的位置。

如果你在Render方法中做到这一点,那就太晚了 - 那时铬已经被绘制了。

如果您在早期执行此操作,则在SharePoint应用工具部分中的设置时,将覆盖您的设置。

看看像OnPreRender事件那样做。

答案 2 :(得分:4)

这是使用PartChromeType =“None”

更改ChromeType的另一种解决方案
<WebPartPages:WebPartZone runat="server" Title="Banner" ID="Banner" PartChromeType="None" />

支持的选项包括:

  • BorderOnly
  • 默认
  • TitleAndBorder
  • TitleOnly

要删除并重新插入webpart

,有时需要更新更改