SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

Bei Abfrage des Webpart-Titels wird "untitled" ausgegeben

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 9 Antworten | 1 Follower

Top-500-Beitragsschreiber
51 Beiträge
Andreas Körner erstellt in 7 Aug 2018 14:21

Hallo zusammen,

 

ich gehe davon aus das einige von euch auch schon mal das Problem gehabt haben, weshalb ich hoffe das mir irgendwer weiterhelfen kann....

Mit einem PowerShell-Script greife ich auf mehrere Seiten zu, um dort ein Webppart (immer das gleiche) zu löschen und ein anderes zu setzen. An sich ist alles klar...ich identifiziere das Webpart über das Property Title. Allerdings gibt mir PowerShell für den Title bzw. DisplayTitle des zu löschenden Webparts immer "untitled" aus, obwohl dieser, auch laut SharepointDesigner, vorhanden ist.Dass das Script korrekt arbeitet, weiß ich, da mir auch die entsprechende WebpartID, Zone & Index ausgegeben wird.  Auch in den Properties des Webparts sind Title/DisplayTitle nicht zu finden...

 

Hat jemand vielleicht eine Idee, was es mit diesem Problem auf sich hat?

 

Besten Dank euch schon mal...

 

 

Alle Antworten

Top-10-Beitragsschreiber
18.753 Beiträge

Wie genau greifst Du denn auf das Webpart zu? Und ist das serverseitig oder clientseitig?

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
51 Beiträge

 

Ich greife serverseitig darauf zu mittels:

 

$WebPartManager = $web.GetLimitedWebPartManager($item.Url, [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)

 

Hier mal weitestgehend gesamthaft:

 

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue  


$site = Get-SPSite "https://..."
 
$web = Get-SPWeb "https://...."


$file= $web.GetList($web.ServerRelativeUrl.TrimEnd("/") + "/SitePages")

$liste = $file.Views["Archiv"]
$spQuery = New-Object Microsoft.SharePoint.SPQuery($liste)
$spQuery.RowLimit = 0


foreach($item in $file.GetItems($spQuery))
{
 write-host $item["Name"] + $liste

    $WebPartManager = $web.GetLimitedWebPartManager($item.Url, [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)
foreach($webpart in $WebPartManager.WebParts)
        {

$webpart.id

}

}

Im Detail lese ich die Seiten in der SitePages-Bibliothek einer bestimmten Ansicht aus. Darin kommt $WebPartManager zum Einsatz. Die WebpartID gibt er mir aus, aber den Titel eben nicht

Top-10-Beitragsschreiber
18.753 Beiträge

Ok, Du hast es also mit einem System.Web.UI.WebControls.WebParts.WebPart zu tun und da sollte der DisplayTitle eigentlich das gesuchte liefern. Lasse Dir doch einfach mal mit $Webpart | fl alle Properties ausgeben..

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
51 Beiträge

Hab ich auch schon. Hier mal das Ergebnis:

ErrorMessage                       : This page has encountered a critical error. Contact your system administrator if this problem persists.
ErrorDetails                       :
RepresentedWebPartType             :
FatalError                         : True
ErrorType                          : Unsafe
Title                              :
FrameType                          : Default
SuppressWebPartChrome              : False
Description                        :
IsIncluded                         : True
ZoneID                             : Header
PartOrder                          : 0
FrameState                         : Normal
Height                             :
Width                              :
AllowRemove                        : True
AllowZoneChange                    : True
AllowMinimize                      : True
AllowConnect                       : True
AllowEdit                          : True
AllowHide                          : True
IsVisible                          : True
Hidden                             : False
CatalogIconImageUrl                :
TitleIconImageUrl                  :
TitleUrl                           :
DetailLink                         :
HelpUrl                            :
HelpLink                           :
HelpMode                           : Modeless
Dir                                : Default
PartImageSmall                     :
MissingAssembly                    : Cannot import this Web Part.
ImportErrorMessage                 : Cannot import this Web Part.
PartImageLarge                     :
IsIncludedFilter                   :
AuthorizationFilter                :
ExportControlledProperties         : True
ConnectionID                       : 00000000-0000-0000-0000-000000000000
ID                                 : g_de9572dd_60e4_4cc1_b28e_abf537a96f8c
StorageKey                         : de9572dd-60e4-4cc1-b28e-abf537a96f8c
Connections                        :
UnknownXmlElements                 : {}
SerializedAttachedPropertiesShared :
SerializedAttachedPropertiesUser   :
CssStyleSheet                      :
UseDefaultStyles                   : True
Qualifier                          :
ClientName                         : varPart
Caption                            :
Subtitle                           :
Permissions                        : AllProperties
BrowserDesignMode                  : False
EffectiveTitle                     : Untitled
EffectiveStorage                   : Shared
EffectiveFrameType                 : Standard
AllowClose                         : True
ChromeState                        : Normal
ChromeType                         : Default
ConnectErrorMessage                :
Direction                          : NotSet
DisplayTitle                       : Untitled
ExportMode                         : All
HasUserData                        : False
HasSharedData                      : False
IsClosed                           : False
IsShared                           : True
IsStandalone                       : False
IsStatic                           : False
Verbs                              : {}
WebBrowsableObject                 : Microsoft.SharePoint.WebPartPages.ErrorWebPart
Zone                               :
ZoneIndex                          : 0
Controls                           : {}
BackImageUrl                       :
DefaultButton                      :
GroupingText                       :
HorizontalAlign                    : NotSet
SupportsDisabledAttribute          : False
ScrollBars                         : None
Wrap                               : True
AccessKey                          :
Attributes                         : System.Web.UI.AttributeCollection
BackColor                          : Color [Empty]
BorderColor                        : Color [Empty]
BorderWidth                        :
BorderStyle                        : NotSet
ControlStyle                       : System.Web.UI.WebControls.PanelStyle
ControlStyleCreated                : True
CssClass                           :
Style                              : System.Web.UI.CssStyleCollection
Enabled                            : True
EnableTheming                      : True
Font                               :
ForeColor                          : Color [Empty]
HasAttributes                      : False
SkinID                             :
TabIndex                           : 0
ToolTip                            :
ClientIDMode                       : Inherit
ClientID                           : g_de9572dd_60e4_4cc1_b28e_abf537a96f8c
EnableViewState                    : True
ViewStateMode                      : Inherit
NamingContainer                    :
BindingContainer                   :
DataItemContainer                  :
DataKeysContainer                  :
Page                               :
RenderingCompatibility             : 4.0
TemplateControl                    :
Parent                             :
TemplateSourceDirectory            :
AppRelativeTemplateSourceDirectory :
Site                               :
Visible                            : True
UniqueID                           : g_de9572dd_60e4_4cc1_b28e_abf537a96f8c
ValidateRequestMode                : Inherit
DataBindings                       : {}
HasDataBindings                    : False
ControlBuilder                     :
UserData                           : {}
HasExpressions                     : False
Expressions                        : {}

Es wird sicherlich irgendwas mit der Error-Meldung zu tun haben. Aber eine Lösung habe ich dafür bisher nicht gefunden

Top-10-Beitragsschreiber
18.753 Beiträge

Da würde ich aber erstmal nach der Fehlermeldung schauen. In den ULS-Logs von SharePoint solltest Du (oder ein Admin) mehr dazu finden.

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
51 Beiträge

Ich habe mal in den Logs (C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\LOGS) nachgeschaut, aber leider nichts mit annähernd dem betreffendem Datum gefunden.

 

Meinst du es könnte das im folgenden Beitrag beschriebene Problem sein?

Link

Allerdings bringt mir die Lösung nichts, da ich die Webparts nicht löschen möchte, sondern einfach auf die properties zugreifen will

Top-10-Beitragsschreiber
18.753 Beiträge

Ich würde sagen, daß dort ein anderes Problem beschrieben ist.

Du hast ja offenbar Zugriff auf den Server. Gehe in die Zentraladministration und dort unter Monitoring auf Configure Diagnostic Logging. Setze dort den LogLevel für alle Kategorien auf z.B. High oder Medium. Jetzt solltest Du in den Logs mehr Informationen finden (nachdem Du den Fehler reproduziert hast).

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
51 Beiträge

 

Hallo Andi,

 

hab zumindest jetzt den Log-Eintrag gefunden:

 

Process            powershell_ise.exe (0x354C)                         

TID       0x0A54

Area                SharePoint Foundation                         

Category         General                 

EventID    ajlz0

Level        High

Message     Getting Error Message for Exception Microsoft.SharePoint.WebPartPages.WebPartPage UserException: This page has encountered a critical error. Contact your system administrator if this problem persists.     at Microsoft.SharePoint.ApplicationRuntime.SafeControls.GetTypeFromGuid(Boolean isAppWeb, Guid guid, Guid solutionId, Nullable`1 solutionWebId, String assemblyFullName, String typeFullName, Boolean throwIfNotSafe)     at Microsoft.SharePoint.WebPartPages.SPWebPartManager.CreateWebPartsFromRowSetData(Boolean onlyInitializeClosedWebParts)   

Correlation        ab9176f0-2ed8-0002-fbc8-a2abd82ed401

 

Sagt dir das irgendwas? Ich recherchiere gerade, was dahinter stecken könnte...

Top-10-Beitragsschreiber
18.753 Beiträge

Nein, das sagt leider gar nichts. Aber immerhin weißt Du jetzt, daß etwas mit der Seite nicht stimmt. Leider aber nicht was und schon gar nicht, was man dagegen tun könnte.

Hast Du da noch mit anderen Scripten rumgespielt und dabei vielleicht etwas kaputtgemacht? Siehst Du irgendwas, wenn Du die Seite im Browser öffnest? Öffne die Seite mal im Wartungsmodus, indem Du an die Adresse ?Contents=1 anhängst.

Viele Grüße
Andi
af @ evocom de
Blog
Seite 1 von 1 (10 Elemente) | RSS