Ошибка веб -детали для предварительно загруженной зоны веб -деталей

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/1240

  •  16-10-2019
  •  | 
  •  

Вопрос

SharePoint 2007 Enterprise, SP2.

Я получаю странную ошибку (обнаруженная в журналах ULS, Google сообщает, что в самом сообщении нет хитов), пытаясь загрузить страницу с помощью веб -части, предварительно загруженной в зону:

В этой веб -части возникла неожиданная ошибка. Ошибка: невозможно правильно разобрать разметку. Вполне вероятно, что разметка должна быть в формате атрибута Visual Studio, но данная разметка находится в формате XML., DesignText:u003CVPCQWP:ComponentLandingCQWPn runat="server" id="CL_CQWP" />

Эта веб-часть вытекает из класса ContentByqueryWebpart и устанавливает ряд веб-контекстов.

Это весь веб -частиц, и да - TagpRefix зарегистрирован в верхней части страницы:

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

Сумасшедшая часть заключается в том, что если я очищаю эту веб -часть из зоны, загрузите страницу, а затем добавлю веб -часть обратно через веб -интерфейс, это работает, нет проблем. Что мне здесь не хватает?

Это было полезно?

Решение

Когда вы добавляете веб -часть непосредственно в макет страницы, страница проанализирована двигателем ASP.NET как часть страницы. Это часто дает вам другое поведение, чем предоставление с помощью функции или onet.xml (я сам видел, как это пыталось использовать Uint вместо int здесь).

Я не уверен, что это обычный CQWP, который вы получили туда, или если вы свернули свой собственный, но убедитесь, что вы установили все достоверные свойства на элемент управления, как если бы вы настроили веб -части XML.

Чтобы проверить, какие свойства должны быть там, используйте Designer SharePoint, чтобы добавить веб -часть в макет страницы (OBS: просто скопируйте представление управления в коде и отмените изменения в макете страницы, чтобы вы не раскрыли/настраивали макет страницы)

Ниже приведен пример настроек по умолчанию при перетаске CQWP в PL с помощью 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

Другие советы

Я должен согласиться с Андерсом, если это CQWP, что у вас есть подклассы, вам нужно либо указать гораздо больше свойств, либо установить их в вашей веб -части (например, в Onload/CreateChildControls). Например, какие свойства вы установили в файле .webpart? Добавление веб -части с использованием веб -интерфейса - это не то же самое, что определение элемента управления в шаблоне зоны веб -части. Когда вы добавляете его через WebInterface, файл описания управления веб -деталями (.webpart) используется для получения значений по умолчанию веб -части.

/Ww

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top