Frage

SharePoint 2007 Enterprise, SP2.

Ich erhalte einen seltsamen Fehler (in den ULS -Protokollen gefunden, Google meldet keine Hits auf der Nachricht selbst), wenn ich versuche, eine Seite mit einem in einer Zone vorinstallierten Webpart hochzuladen:

In diesem Web -Teil wurde ein unerwarteter Fehler aufgetreten. Fehler: Markup kann nicht korrekt analysiert werden. Es ist wahrscheinlich, dass sich das Markup im Visual Studio -Attributformat befinden, aber das angegebene Markup befindet sich im XML -Format., Desigtext:u003CVPCQWP:ComponentLandingCQWPn runat="server" id="CL_CQWP" />

Dieser WebPart leitet sich von der ContentByQueryWebPart-Klasse ab und legt eine Reihe von sensiblen Webkontext-Eigenschaften fest.

Dies ist das gesamte WebPartzone und ja - das TagPrefix ist ganz oben auf der Seite ordnungsgemäß registriert:

<WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="TopLeft" Title="Top Left">
  <ZoneTemplate>
    <VPCQWP:ComponentLandingCQWP runat="server" id="CL_CQWP"></VPCQWP:ComponentLandingCQWP>
  </ZoneTemplate>
</WebPartPages:WebPartZone>

Der verrückte Teil ist, wenn ich diesen Webpart aus der Zone lösche, die Seite hochladen und dann den Webpart in der Web -Benutzeroberfläche wieder hinzufügen kann, funktioniert es kein Problem. Was vermisse ich hier?

War es hilfreich?

Lösung

Wenn Sie den Webpart direkt zum Seitenlayout hinzufügen, wird die Seite von der ASP.NET -Engine als Teil der Seite analysiert. Dies gibt Ihnen oft ein anderes Verhalten als eine Bereitstellung durch eine Funktion oder onet.xml (ich habe gesehen, dass ich versucht habe, Uint anstelle von int zu verwenden hier).

Ich bin mir nicht sicher, ob es sich um einen normalen CQWP handelt, den Sie dort angelangt haben, oder ob Sie Ihre eigenen gerollt haben, aber stellen Sie sicher, dass Sie alle gültigen Eigenschaften für das Steuerelement festlegen, wie Sie es tun würden, wenn Sie das WebPart XML konfiguriert hätten.

Um zu überprüfen, welche Eigenschaften vorhanden sein müssen, verwenden Sie SharePoint Designer, um das Webpart auf dem Seitenlayout hinzuzufügen (OBS: Kopieren Sie einfach die Steuerung in der Codeansicht und ändert Änderungen des Seitenlayouts, damit Sie Ihr Seitenlayout nicht angeben/anpassen).

Im Folgenden finden Sie ein Beispiel für Standardeinstellungen beim Ziehen eines CQWP in ein PL mit SPD:

<PublishingWebControls:ContentByQueryWebPart 
    runat="server" 
    NoDefaultStyle="" 
    ZoneID="" 
    FrameType="TitleBarOnly" 
    Dir="Default" 
    UseSQLDataSourcePaging="True" 
    AllowConnect="True" 
    Title="Content Query Web Part" 
    SuppressWebPartChrome="False" 
    ViewContentTypeId="" 
    MissingAssembly="Cannot import this Web Part." 
    FrameState="Normal" 
    ID="ContentByQueryWebPart1" 
    AllowRemove="True" 
    AllowHide="True" 
    AllowEdit="True" 
    ShowWithSampleData="False" 
    IsIncluded="True" 
    PartImageLarge="" 
    PartOrder="1" 
    PartImageSmall="" 
    AllowMinimize="True" 
    ConnectionID="00000000-0000-0000-0000-000000000000" 
    ExportMode="All" 
    IsIncludedFilter="" 
    GroupStyle="DefaultHeader" 
    HelpLink="" 
    SortByDirection="Desc" 
    IsVisible="True" 
    SortBy="{8c06beca-0777-48f7-91c7-6da68bc07b69}" 
    DataSourceID="" 
    AllowZoneChange="True" 
    HelpMode="Modeless" 
    ExportControlledProperties="True" 
    AdditionalFilterFields="" 
    AdditionalGroupAndSortFields="" 
    DetailLink="" 
    ItemStyle="Default" 
    Description="Use to display a dynamic view of content from your site on a web page" 
    ChromeType="TitleOnly" 
    PageSize="-1" 
    __MarkupType="vsattributemarkup" 
    __WebPartId="{b9de16fc-23b5-4d39-aaf7-3e42e8389548}" 
    WebPart="true" 
    Height="" 
    Width="">
    <SampleData>
        <dsQueryResponse>
                    <Rows>
                        <Row Title="Item 1" LinkUrl="http://Item1" Group="Group Header" __begincolumn="True" __begingroup="True" />
                        <Row Title="Item 2" LinkUrl="http://Item2" __begincolumn="False" __begingroup="False" />
                        <Row Title="Item 3" LinkUrl="http://Item3" __begincolumn="False" __begingroup="False" />
                    </Rows>
                </dsQueryResponse></SampleData>
    <DataFields>
    </DataFields>
    <Xsl>
    <xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema" version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cmswrt="http://schemas.microsoft.com/WebPart/v3/Publishing/runtime" exclude-result-prefixes="xsl cmswrt x" > <xsl:import href="/Style Library/XSL Style Sheets/Header.xsl" /> <xsl:import href="/Style Library/XSL Style Sheets/ItemStyle.xsl" /> <xsl:import href="/Style Library/XSL Style Sheets/ContentQueryMain.xsl" /> </xsl:stylesheet></Xsl>
</PublishingWebControls:ContentByQueryWebPart>

HTH Anders Rask

Andere Tipps

Ich muss mit Anders einverstanden, wenn es sich um einen CQWP handelt, den Sie Unterklassen haben, müssen Sie entweder viel mehr Eigenschaften angeben oder in Ihrem Webpart festlegen (zum Beispiel in Onload/CreateChildControls). Welche Eigenschaften haben Sie zum Beispiel in der Datei .webPart festgelegt? Das Hinzufügen des Webparts über die Webschnittstelle ist nicht mit der Angabe des Steuerelements in einer Webpart -Zone -Vorlage. Wenn Sie es über das WebInterface hinzufügen, wird die Datei für Webpart -Steuerungsbeschreibung (.WebPart) verwendet, um die Standardwerte des Webparts zu erhalten.

/Ww

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top