Frage

Ich habe eine benutzerdefinierte Listendefinition, die eine Ansicht definiert.Diese Ansichten sind aufgrund einiger Formatierungsregeln mit einer benutzerdefinierten XSL-Datei verknüpft (rote Zeile, wenn Feld X gleich Y ist).

In dieser XSL möchte ich einen Link zu einer benutzerdefinierten Seite mit der ID des Artikels hinzufügen.Das Ergebnis sollte sein: weburl/pages/mypage.aspx?id=123.

Ich habe inzwischen ganz am Ende meiner XSL-Datei so etwas:

  <td>
    <a href="../Pages/mypage.aspx?MyID={@ID}">
      Show
    </a>
  </td>

Dies funktioniert auf der Homepage meiner Website (/pages/home.aspx), aber aufgrund der relativen URL funktioniert dies nicht über die Liste selbst.

  1. Ist der XSL-Ansatz der richtige Weg, einen solchen Link zu definieren?
  2. Wenn ja, gibt es ein Token oder eine ähnliche Möglichkeit, eine relative SPWeb-URL zu erstellen?

Danke

War es hilfreich?

Lösung

Wenn Sie richtig einschließen main.xsl Verwenden Sie in Ihrer Vorlage $ServerRelativeUrl globaler Parameter.

Beispiel:

<td>
  <a href="{$ServerRelativeUrl}/Pages/mypage.aspx?MyID={@ID}">
    Show
  </a>
</td>

MSDN-Referenz für globale XSLT-Parameter finden Sie hier:

Alle diese globalen Parameter sind im definiert main.xsl Datei:

C: Programme Common Dateien Microsoft Shared Web Server -Erweiterungen 14 Vorlage Layouts xsl main.xsl

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top