Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine (HTML)-Webressourcenseite kann nur einen einzelnen benutzerdefinierten Parameter akzeptieren, der data genannt wird. Um mehrere Werte im Datenparameter zu übergeben, müssen Sie die Parameter codieren und die Parameter auf Ihrer Seite decodieren.
Die seite hier stellt eine Technik dar, um die zusätzlichen Werte innerhalb eines einzelnen Parameters zu übergeben und diese dann in Ihrer Webressource zu verarbeiten.
Beispiel-HTML-Webressource
Der folgende HTML-Code stellt eine Webressource einer Webseite (HTML) dar, die ein Skript enthält, das drei Funktionen definiert:
getDataParam: Vom
body.onloadEreignis aufgerufen, ruft diese Funktion alle Abfragezeichenfolgenparameter ab, die an die Seite übergeben werden, und sucht nach einem benannten Parameterdata.parseDataValue: Empfängt den Datenparameter aus
getDataParamund erstellt eine DHTML-Tabelle, um alle Werte anzuzeigen, die innerhalb desdataParameters übergeben werden.Hinweis
Alle in der Abfragezeichenfolge enthaltenen Zeichen werden mit der encodeURIComponent-Methode codiert. Diese Funktion verwendet dieJavaScript-DecodeURIComponent-Methode , um die übergebenen Werte zu decodieren.
noParams: Zeigt eine Meldung an, wenn keine Parameter an die Seite übergeben werden.
<!DOCTYPE html >
<html lang="en-us">
<head>
<title>Show Data Parameters Page</title>
<style type="text/css">
body
{
font-family: Segoe UI, Tahoma, Arial;
background-color: #d6e8ff;
}
tbody
{
background-color: white;
}
th
{
background-color: black;
color: White;
}
</style>
<script type="text/javascript">
document.onreadystatechange = function () {
if (document.readyState == "complete") {
getDataParam();
}
}
function getDataParam() {
//Get the any query string parameters and load them
//into the vals array
var vals = new Array();
if (location.search != "") {
vals = location.search.substr(1).split("&");
for (var i in vals) {
vals[i] = vals[i].replace(/\+/g, " ").split("=");
}
//look for the parameter named 'data'
var found = false;
for (var i in vals) {
if (vals[i][0].toLowerCase() == "data") {
parseDataValue(vals[i][1]);
found = true;
break;
}
}
if (!found)
{ noParams(); }
}
else {
noParams();
}
}
function parseDataValue(datavalue) {
if (datavalue != "") {
var vals = new Array();
var message = document.createElement("p");
setText(message, "These are the data parameters values that were passed to this page:");
document.body.appendChild(message);
vals = decodeURIComponent(datavalue).split("&");
for (var i in vals) {
vals[i] = vals[i].replace(/\+/g, " ").split("=");
}
//Create a table and header using the DOM
var oTable = document.createElement("table");
var oTHead = document.createElement("thead");
var oTHeadTR = document.createElement("tr");
var oTHeadTRTH1 = document.createElement("th");
setText(oTHeadTRTH1, "Parameter");
var oTHeadTRTH2 = document.createElement("th");
setText(oTHeadTRTH2, "Value");
oTHeadTR.appendChild(oTHeadTRTH1);
oTHeadTR.appendChild(oTHeadTRTH2);
oTHead.appendChild(oTHeadTR);
oTable.appendChild(oTHead);
var oTBody = document.createElement("tbody");
//Loop through vals and create rows for the table
for (var i in vals) {
var oTRow = document.createElement("tr");
var oTRowTD1 = document.createElement("td");
setText(oTRowTD1, vals[i][0]);
var oTRowTD2 = document.createElement("td");
setText(oTRowTD2, vals[i][1]);
oTRow.appendChild(oTRowTD1);
oTRow.appendChild(oTRowTD2);
oTBody.appendChild(oTRow);
}
oTable.appendChild(oTBody);
document.body.appendChild(oTable);
}
else {
noParams();
}
}
function noParams() {
var message = document.createElement("p");
setText(message, "No data parameter was passed to this page");
document.body.appendChild(message);
}
//Added for cross browser support.
function setText(element, text) {
if (typeof element.innerText != "undefined") {
element.innerText = text;
}
else {
element.textContent = text;
}
}
</script>
</head>
<body>
</body>
</html>
Verwenden dieser Seite
Erstellen Sie eine Webseite-Webressource namens "new_/ShowDataParams.htm" mithilfe des Beispielcodes.
Die Parameter, die Sie übergeben möchten, sind:
first=First Value&second=Second Value&third=Third ValueHinweis
Wenn Sie statische Parameter mithilfe des Dialogfelds "Webressourceneigenschaften" aus dem Formular-Editor hinzufügen, können Sie die Parameter einfach einfügen, ohne sie in das Feld "Custom Parameter(data)" zu codieren. Diese Werte werden für Sie codiert, aber Sie müssen sie trotzdem decodieren und die Werte auf Ihrer Seite extrahieren.
Verwenden Sie für dynamische Werte, die im Code generiert werden, die
encodeURIComponentMethode für die Parameter. Die codierten Werte sollten folgendes sein:first%3DFirst%20Value%26second%3DSecond%20Value%26third%3DThird%20ValueÖffnen Sie die Seite, die die codierten Parameter als Wert des Datenparameters übergibt:
https://<server name>/WebResources/new_/ShowDataParams.htm?Data=first%3DFirst%20Value%26second%3DSecond%20Value%26third%3DThird%20ValueHinweis
Wenn Sie die Webressource zu einem Formular hinzugefügt und die nicht codierten Parameter in das Feld "Benutzerdefinierte Parameter(Daten)" eingefügt haben, können Sie einfach eine Vorschau des Formulars anzeigen.
new_/ShowDataParams.htmzeigt eine dynamisch generierte Tabelle an:Parameter Wert erste Erster Wert zweite Zweiter Wert Dritte Dritter Wert
Funktionsweise
Um auf die werte zuzugreifen, die in den Parameterwert der Datenabfragezeichenfolge eingebettet sind, können Sie in Ihrer Webressource der Webseite den Wert des Datenparameters extrahieren und dann code verwenden, um die Zeichenfolge in ein Array aufzuteilen, damit Sie auf jedes Namenswertpaar einzeln zugreifen können.
Wenn die Seite geladen wird, wird die getDataParam Funktion aufgerufen. Diese Funktion identifiziert einfach den Datenparameter und übergibt den Wert an die ParseDataValue Funktion. Wenn kein Datenparameter gefunden wird, fügt die noParams Funktion der Seite anstelle der Tabelle eine Meldung hinzu.
Die ParseDataValue-Funktion verwendet eine ähnliche Logik wie getDataParam, um die benutzerdefinierten Parametertrennzeichen zu finden und ein Array mit Name-Wert-Paaren zu erstellen. Anschließend wird eine Tabelle generiert und an das sonst leere Dokument.body angefügt.
Siehe auch
Webressourcen für Dynamics 365 Customer Engagement (on-premises)
Beispiel: Importieren von Dateien als Webressourcen
Webseite (HTML)-Webressourcen
Silverlight (XAP)-Webressourcen