“Указанное представление недопустимо” в вызове к LimitedWebPartManager. AddWebPart в SharePoint 2010

Этот код раньше работал в WSS 3.0 / MOSS 2007 в FeatureReceiver. FeatureActivated:

using (SPLimitedWebPartManager limitedWebPartManager = Site.GetLimitedWebPartManager("default.aspx", PersonalizationScope.Shared)) {
    ListViewWebPart listViewWebPart = new ListViewWebPart {
        Title = title,
        ListName = list.ID.ToString("B").ToUpper(),
        ViewGuid = view.ID.ToString("B").ToUpper()
    };
    limitedWebPartManager.AddWebPart(listViewWebPart, zone, position);
}

Я пытаюсь преобразовать в SharePoint 2010, и он теперь перестал работать с:

System.ArgumentException: The specified view is invalid.
at Microsoft.SharePoint.SPViewCollection.get_Item(Guid guid)
at Microsoft.SharePoint.WebPartPages.ListViewWebPart.EnsureListAndView(Boolean requireFullBlownViewSchema)
at Microsoft.SharePoint.WebPartPages.ListViewWebPart.get_AppropriateBaseViewId()
at Microsoft.SharePoint.WebPartPages.SPWebPartManager.AddWebPartInternal(SPSupersetWebPart superset, Boolean throwIfLocked)
at Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager.AddWebPartInternal(WebPart webPart, String zoneId, Int32 zoneIndex, Boolean throwIfLocked)
at Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager.AddWebPart(WebPart webPart, String zoneId, Int32 zoneIndex)

Интересно достаточно, когда я выполняю его от модульного теста, это работает, это только перестало работать в FeatureActivated. Когда я отлаживаю с Отражателем, он перестал работать на этой строке:

this.view = this.list.LightweightViews[new Guid(this.ViewGuid)];

список. LightweightViews только возвращает одно представление, представление по умолчанию, даже при том, что список. Представления возвращают всех их. При выполнении от модульного теста LightweightViews возвращает все мои представления. Я понятия не имею, что LightweightViews, как предполагается, имеет в виду, и у меня заканчиваются идеи. Кто-либо еще получил кого-либо?

9
задан Lee Richardson 4 May 2010 в 08:42
поделиться

1 ответ

Надеюсь, никто никогда не сталкивался с этой проблемой и даже не видел этот вопрос. В том случае, если у вас возникнет такая же проблема, у меня нет конкретного решения. В конце концов, это начало работать для меня (через 8 часов). Я могу рассказать вам, что я сделал прямо перед тем, как он начал работать, и, надеюсь, это поможет:

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

Некоторые другие замечания по проблеме:

  • Я создаю все свои списки и представления с помощью кода
  • RunWithElevatedPrivileges не помогло
  • Создание экземпляра новой активированной функции SPWeb в не помогло
  • Установка ListViewXml = view. HtmlSchemaXml вместо установки ViewGuid не приводил к сбою, но представление было неправильным, когда этот код выполнялся в FeatureActivated, но исправным при выполнении в модульном тесте.

Все, что я могу, извините. Если у вас возникла эта проблема, удачи!

3
ответ дан 2 November 2019 в 23:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: