XSL-Ansicht, Web-relativer Link?
-
09-12-2019 - |
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.
- Ist der XSL-Ansatz der richtige Weg, einen solchen Link zu definieren?
- Wenn ja, gibt es ein Token oder eine ähnliche Möglichkeit, eine relative SPWeb-URL zu erstellen?
Danke
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