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.
Dieser Artikel enthält Beispiele für die Navigation zu generativen Seiten in modellgesteuerten Apps mithilfe der Client-API navigateTo-Methode . Erfahren Sie, wie Sie generative Seiten inline oder in einem Dialogfeld öffnen und Eingabeparameter wie eine Datensatz-ID oder benutzerdefinierte Daten übergeben.
Hinweis
Diese Methode wird nur für die einheitliche Oberfläche unterstützt.
Seite-ID finden
Jedes der folgenden Beispiele erfordert die ID der zielgeneriven Seite. So suchen Sie die Seiten-ID:
- Öffnen Sie die modellgesteuerte App, die die generative Seite im App-Designer enthält.
- Wählen Sie die generative Seite in der Seitenliste aus.
- Kopieren Sie im Eigenschaftenbereich die GUID, die im Feld "Generative Page " angezeigt wird.
Öffnen einer generativen Seiten-Inline ohne Parameter
Öffnet eine generative Seite als ganzseitige Inlineansicht ohne Eingabeparameter.
var pageInput = {
pageType: "generative",
pageId: "<genPageID>"
};
var navigationOptions = {
target: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions)
.then(
function () {
// Called when page opens
}
).catch(
function (error) {
// Handle error
}
);
Öffnen einer generativen Seite inline mit Datensatzkontext
Übergibt ein recordId und ein entityName an die generative Seite, damit die Seite einen bestimmten Datensatz laden und anzeigen kann. Die zielgenerive Seite muss so eingerichtet sein, dass diese Parameter akzeptiert werden.
var pageInput = {
pageType: "generative",
pageId: "<genPageID>",
entityName: "account",
recordId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" // replace with actual record GUID
};
var navigationOptions = {
target: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions)
.then(
function () {
// Called when page opens
}
).catch(
function (error) {
// Handle error
}
);
Öffnen einer generativen Seite inline mit benutzerdefinierten Daten
Übergibt ein data Objekt, das benutzerdefinierte Schlüsselwertpaare enthält, an die generative Seite. Die zielgenerive Seite muss so eingerichtet sein, dass diese Parameter akzeptiert werden.
var pageInput = {
pageType: "generative",
pageId: "<genPageID>",
data: { status: "active", category: "premium" }
};
var navigationOptions = {
target: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions)
.then(
function () {
// Called when page opens
}
).catch(
function (error) {
// Handle error
}
);
Öffnen einer generativen Seite als zentriertes Dialogfeld
Öffnet eine generative Seite in einem zentrierten Dialogfeld, wobei sowohl Datensatzkontext als auch benutzerdefinierte Daten übergeben werden. Passen Sie width und height nach Bedarf an.
var pageInput = {
pageType: "generative",
pageId: "<genPageID>",
entityName: "account",
recordId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee", // replace with actual record GUID
data: { view: "summary" }
};
var navigationOptions = {
target: 2,
position: 1,
width: { value: 70, unit: "%" },
height: { value: 80, unit: "%" },
title: "<dialog title>"
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions)
.then(
function () {
// Called when the dialog closes
}
).catch(
function (error) {
// Handle error
}
);
Öffnen einer generativen Seite als seitenseitiges Dialogfeld
Öffnet eine generative Seite als Seitendialog mit position: 2.
var pageInput = {
pageType: "generative",
pageId: "<genPageID>"
};
var navigationOptions = {
target: 2,
position: 2,
width: { value: 500, unit: "px" },
title: "<dialog title>"
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions)
.then(
function () {
// Called when the dialog closes
}
).catch(
function (error) {
// Handle error
}
);
Nicht unterstützt: Öffnen einer generativen Seite in einem Seitenbereich
Von Bedeutung
Das Öffnen einer generativen Seite mithilfe der Verwendung Xrm.App.sidePanes.createPane() wird derzeit nicht unterstützt.
// Not supported — page content doesn't render
const pane = await Xrm.App.sidePanes.createPane({
title: "My Generative Page",
paneId: "GenPage",
canClose: false,
width: 400
});
pane.navigate({ pageType: "generative", pageId: "<genPageID>" });
Verwenden Sie stattdessen das zentrierte oder seitliche Dialogfeld Xrm.Navigation.navigateTo.
Navigieren von einer generativen Seite mithilfe der Client-API
Wenn Sie innerhalb einer generativen Seitenkomponente navigieren, verwenden Sie (window as any).Xrm, um auf das Xrm-Objekt zuzugreifen, da der React-Komponentenbereich keinen direkten Zugriff darauf bietet.
Navigieren zu einer anderen generativen Seite mit Datensatzkontext und benutzerdefinierten Daten
const xrm = (window as any).Xrm;
xrm.Navigation.navigateTo({
pageType: "generative",
pageId: targetPageId,
entityName: "account",
recordId: selectedRecordId,
data: { view: "summary" }
});
Hinweis
Wenn Sie in modellgesteuerten Apps navigieren, vermeiden Sie das Erstellen von unformatierten URLs oder das Manipulieren von window.location.
Navigieren zu einer generativen Seite über URL (nur externe Aufrufer)
Sie können zu einer generativen Seite navigieren, indem Sie eine URL mit der folgenden Struktur erstellen:
https://<your-org>.crm.dynamics.com/main.aspx?appid={app-id}&pagetype=genux&id={page-id}&recordid={recordId}&entityname={entityName}&data={encoded-json}
Sie müssen den data Parameter als URL-kodiertem JSON angeben. So übergeben Sie beispielsweise ein benutzerdefiniertes Filterobjekt:
https://<your-org>.crm.dynamics.com/main.aspx?appid={app-id}&pagetype=genux&id={page-id}&data=%7B%22status%22%3A%22active%22%7D
Sie müssen die zielgenerative Seite so konfigurieren, dass sie diese Parameter akzeptiert.