Il blog di Giuseppe Marchi - SharePoint MVP
NAVIGATION - SEARCH

Che fine ha fatto il link alla DispForm ?

E' già la seconda volta che mi capita..
Praticamente a fronte di una modifica del contenuto della DispForm.aspx di una normale lista SharePoint (modifica effettuata sia tramite SharePoint Designer 2007 che tramite interfaccia) mi è capitato che il link renderizzato nel campo Title di una lista SharePoint per raggiungere il dettaglio di un singolo elemento sparisse dalla visualizzazione. O meglio, il valore del campo Title è sempre rimasto, ma il collegamento alla pagina DispForm portava invece al sito di root della nostra site collection:

http://ROOTSITE/?ID=1

In entrambi i casi, avevo tolto la web part di default (senza nasconderla) e l'avevo sostituita con altre web part.

Per prima cosa ho controllato i valori presenti nel tab "Supporting Files" dalla finestra delle proprietà della mia lista aperta da SharePoint Designer. In effetti, era andato perso proprio il link alla pagina DispForm.aspx (sia per elementi che per folder) ed ho quindi provveduto a re-inserire a mano.
Fatto questo, provo un F5, ma niente.

Così provo a resettare la mia DispForm.aspx alla versione originale data dalla propria list definition.
Un altro F5 e sempre niente.

Ho provato anche a dare un'occhiata tramite il modello ad oggetti (utilizzando le classi SPForm e SPFormCollection) con il risultato che la lista in questione aveva solamente due form configurate (la edit e la new) e che non mi era possibile in alcun modo modificarne gli elementi (magari per aggiungere proprio il riferimento alla mia disp form).

Nessun tentativo andava a buon fine, fin quando non ho reinserito all'interno della pagina una web part di tipo "ListFormWebPart" (copiandola da un altra lista) e lo configurata in modo tale da renderizzare il dettaglio degli elementi della lista in questione (inserendo i valori corretti per i campi ControlMode e Listname e cancellando i campi ID e ConnectionID, in modo tale da fargli rigenerare da SharePoint Designer).

<WebPartPages:ListFormWebPart runat="server" __MarkupType="xmlmarkup" WebPart="true"
__WebPartId="{2777F0BE-DF5A-4D9C-8FE5-6E10C9D605DA}"
>
<WebPart
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/WebPart/v2"
>
<Title>Outflow generating contracts</Title>
<FrameType>Default</FrameType>
<Description />
<IsIncluded>true</IsIncluded>
<PartOrder>1</PartOrder>
<FrameState>Normal</FrameState>
<Height />
<Width />
<AllowRemove>true</AllowRemove>
<AllowZoneChange>true</AllowZoneChange>
<AllowMinimize>true</AllowMinimize>
<AllowConnect>true</AllowConnect>
<AllowEdit>true</AllowEdit>
<AllowHide>true</AllowHide>
<IsVisible>true</IsVisible>
<DetailLink />
<HelpLink />
<HelpMode>Modeless</HelpMode>
<Dir>Default</Dir>
<PartImageSmall />
<MissingAssembly>Cannot import this Web Part.</MissingAssembly>
<PartImageLarge />
<IsIncludedFilter />
<ExportControlledProperties>true</ExportControlledProperties>
<ListName xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">{B677C77F-C25B-4962-A632-DC67877DB8AB}</ListName>
<ListItemId xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">0</ListItemId>
<ControlMode xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">Display</ControlMode>
<TemplateName xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">ListForm</TemplateName>
<FormType xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">4</FormType>
<ViewFlag xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">1048576</ViewFlag>
</WebPart>
</WebPartPages:ListFormWebPart>

Una volta reinserita questa web part, magicamente in tutte le viste della mia lista è riapparso il link corretto alla pagina DispForm.aspx sulla colonna Title.
Quindi, quando modificate una form di una lista SharePoint e volete togliere la web part di tipo ListFormWebPart, io vi consiglio di nasconderla, così evitate errori del genere !
blog comments powered by Disqus