Question

Je vais ajouter une très simple XsltListViewWebPart pour une page d'application.Comme suit:

XsltListViewWebPart lvWebPart = new XsltListViewWebPart { ChromeType = PartChromeType.None, ListUrl = "/somesite/list" };
Page.Controls.Add(lvWebPart);

Tout fonctionne très bien (je peux télécharger des fichiers, créer des dossiers, de choisir différents points de vue, etc.) - mais les liens de dossiers ont le tort href:ils ont toujours pointer vers la racine web!

Voir les exemples suivants:enter image description here

Comme vous pouvez le voir, le document correctement liens vers ../sites/sr/doclib/mydocument.docx cependant lorsque l'on regarde les dossiers, ils oublient le contexte dans lequel elles sont actuellement (ils sont dans http://../sites/sr/_layouts/../../..Detail.aspx?RootFolder=..., le plus important de la partie en cours /sites/sr/).Ils essaient d'aller à l'_layouts dossier sur le site racine de la collection de contexte -comme indiqué ci-dessus: http://../_layouts/../../..Detail.aspx?RootFolder=...

Ou encore résumées:

  • La page de l'application de l'emplacement:
    • http://sp/sites/sr/_layouts/my/application/Detail.aspx
  • De la liste/doclib je suis accès à
    • http://sp/sites/sr/mylist
  • L'URL pour les dossiers à l'intérieur de XsltListViewWebPart
    • http://sp/_layouts/my/application/Detail.aspx?RootFolder=...
  • L'URL pour les dossiers qu'ils devraient l'être
    • http://sp/sites/sr/_layouts/my/application/Detail.aspx?RootFolder=...

Voici le kicker:Lors de l'utilisation d'un ListViewWebPart, tout fonctionne comme il se doit!Ainsi, au lieu de la XsltListViewWebPart ci-dessus, je n'en utiliser qu'un ListViewWebpart - et des dossiers de travail, le contexte est pris en compte dans les dossiers de l'URL comme je veux (http://../sites/sr/_layouts/../../..Detail.aspx?RootFolder=...

J'ai essayé de réglage de la WebId Bien sur la XsltListViewWebpart en espérant qu'il y aurait à établir le contexte, mais pas de chance.Je suis en train de penser que, soit que je le configure à tort ou à l'SharePoint 2010 XsltListViewWebPart a un bug que le même code fonctionne pour un ListViewWebPart sur la même page de l'Application.

J'espère que quelqu'un peut vérifier cette question.

Était-ce utile?

La solution

En bref, n'utilisez tout simplement pas xsltlistWebPart sur les pages d'application.

Et voici quelques explications résumées:

XSLTLISTVIEWWEBPART ET AUTRES OOTB SharePoint WebParts (surtout complexes), apparemment, ne sont apparemment pas censés travailler dans l'environnement des pages d'application. En d'autres termes, ils n'étaient pas testés là-bas et leur opérabilité n'est donc pas garantie.

Ceci peut être confirmé indirectement en lisant au moins les articles MSDN suivants:

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top