2011-03-28 20 views
13

Hice un Webpart en Sharepoint 2010, y necesito que la propiedad "Tipo de Chrome" establezca siempre un valor "Ninguno".Invalidar Chrome Webpart

Estaba buscando maneras de forzar el Combobox a "Ninguno", o anulando el "Tipo de Chrome" en la clase C#, pero no encontré ninguna manera de hacerlo. ¿Cuál es la mejor manera de establecer esta propiedad?

Override Chrometype

Respuesta

7

Usted debe ser capaz de modificar .ChromeType propiedad de la pieza de la tela en el código.

Tenga en cuenta dónde hace esto en el ciclo de vida de la pieza web.

Si lo hace como parte del método Render, ya será demasiado tarde: el cromo ya ha sido dibujado para entonces.

En el otro extremo de la escala, si lo hace antes de tiempo, su configuración se anulará cuando SharePoint aplique la configuración desde la herramienta.

Mira hacerlo en algo así como el evento OnPreRender.

27

La otra opción es usar el archivo .webpart para especificar esto como el predeterminado usando la propiedad ChromeType. Puede hacer esto en su solución de Visual Studio (como se muestra a continuación) o puede editar el archivo .webpart directamente en la Galería de elementos web.

Como este es un enfoque sin código, parece un poco más simple que la ruta C#.

Prueba esto:

<?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> 
+4

Me segundo enfoque .webpart. –

+0

Esta debería ser la respuesta, porque es mucho más elegante y reutilizable que el enfoque de código (sin embargo, solo establece el valor predeterminado para el ChromeType, pero por lo que yo entiendo debería ser suficiente para el caso mencionado en la pregunta original) . –

4

Esta es otra solución para cambiar el ChromeType usando PartChromeType = "None"

<WebPartPages:WebPartZone runat="server" Title="Banner" ID="Banner" PartChromeType="None" /> 

Las opciones soportadas son:

  • BorderOnly
  • Predeterminado
  • Ninguno
  • TitleAndBorder
  • TitleOnly

Para actualizar los cambios a veces es necesario retirar y volver a insertar el elemento Web