navigateTo (Client-API-Referenz)

Navigiert zur angegebenen Tabellenliste, zum Tabellendatensatz, zur HTML-Webressource oder zur benutzerdefinierten Seite.

Hinweis

Diese Methode wird nur für die einheitliche Oberfläche unterstützt.

Syntax

Verwenden Sie die folgende Syntax, um aufzurufen Xrm.Navigation.navigateTo().

Xrm.Navigation.navigateTo(pageInput,navigationOptions).then(successCallback,errorCallback);

Parameters

Die Methode akzeptiert die folgenden Parameter.

Name Typ Erforderlich Beschreibung
pageInput Objekt Ja Eingabe über die Seite, zu der navigiert werden soll. Siehe pageInput-Parameter
navigationOptions Objekt Nein Optionen für das Navigieren zu einer Seite: ob inline oder in einem Dialog geöffnet werden soll. Wenn Sie diesen Parameter nicht angeben, öffnet die Methode standardmäßig die Seite inline.
successCallback Funktion Nein Eine Funktion, die beim Inline-Navigation bei der erfolgreichen Navigation zur Seite und beim Navigieren zu einem Dialogfeld beim Schließen des Dialogfelds ausgeführt wird.
errorCallback Funktion Nein Eine auszuführende Funktion, wenn der Vorgang fehlgeschlagen ist.

pageInput Parameter

Die Objektdefinition ändert sich je nach Typ der Seite, zu der navigiert werden soll: Entitätsliste, Entitätseintrag, Dashboard, HTML-Webressource, benutzerdefinierte Seite oder generative Seite.

Entitätsliste

Das Entitätslistenobjekt enthält die folgenden Werte.

Name Typ Beschreibung
pageType String Geben Sie entitylist an.
entityName String Der logische Name der Tabelle, die in das Listensteuerelement geladen werden soll.
viewId String (Optional) Die ID der zu ladenden Ansicht. Wenn Sie sie nicht angeben, navigiert die App zur Standard-Hauptansicht für die Tabelle.
viewType String (Optional) Typ der zu ladenden Ansicht. Geben Sie savedquery oder userquery an.

Entitätsdatensatz

Das Entitätsdatensatzobjekt enthält die folgenden Werte.

Name Typ Beschreibung
pageType String Geben Sie entityrecord an.
entityName String Logischer Name der Tabelle, für die das Formular angezeigt werden soll.
entityId String (Optional) ID des Tabellendatensatzes, für den das Formular angezeigt wird. Wenn Sie diesen Wert nicht angeben, wird das Formular im Erstellungsmodus geöffnet.
createFromEntity Suche (Optional) Legt einen Datensatz fest, der Standardwerte basierend auf zugeordneten Spaltenwerten bereitstellt. Das Suchobjekt hat die folgenden Zeichenfolgeneigenschaften: entityType, ID, and name (optional).
data Objekt (Optional) Ein Wörterbuchobjekt, das dem Formular zusätzliche Parameter übergibt.

Die Parameter können Tabellenspalten mit Standardwerten sein, die auf neuen Formularen gesetzt werden (siehe Spaltenwerte mithilfe von Parametern festlegen, die an ein Formular übergeben werden) oder benutzerdefinierte Parameter, auf die mit formContext.data.attributes auf dem Formular zugegriffen wird (siehe Konfigurieren eines Formular, um benutzerdefinierte Parameter für Abfragezeichenfolgen zu akzeptieren und formContext.data). Ungültige Parameter verursachen einen Fehler.

formId String (Optional) ID der anzuzeigenden Formularinstanz.
isCrossEntityNavigate Aktiv (Optional) Gibt an, ob von einer anderen Tabelle zu dem Formular navigiert wird, indem die Kreuztabelle Geschäftsprozessfluss verwendet wird.
isOfflineSyncError Aktiv (Optional) Gibt an, ob Offline-Synchronisierungsfehler vorliegen.
processId String (Optional) ID des Geschäftsprozesses, der im Formular angezeigt werden soll.
processInstanceId String (Optional) ID der Geschäftsprozessinstanz, die im Formular angezeigt werden soll.
relationship Objekt (Optional) Definieren eines Beziehungsobjekts, um die zugehörigen Datensätze im Formular anzuzeigen. Siehe Beziehung.
selectedStageId String (Optional) ID der ausgewählten Phase in der Geschäftsprozessinstanz.
tabName String (Optional) Setzt den Fokus auf die Registerkarte des Formulars.
Beziehungsobjekt

Das Beziehungsobjekt, verwendet im Entitätsdatensatz, enthält die folgenden Werte.

Name Typ Beschreibung
attributeName String Name der Spalte, die für die Beziehung verwendet wird.
name String Name der Beziehung.
navigationPropertyName String Name der Navigationseigenschaft für die Beziehung.
relationshipType Anzahl Beziehungstyp. Geben Sie einen der folgenden Werte an: 0:OneToMany, 1:ManyToMany.
roleType Anzahl Beziehungsrollentyp. Geben Sie einen der folgenden Werte an: 1:Referencing, 2:AssociationEntity.

Dashboard

Verwenden Sie dieses Objekt als pageInput Parameter, wenn Sie ein Dashboard öffnen möchten.

Das Dashboardobjekt enthält die folgenden Werte.

Name Typ Beschreibung
pageType String Geben Sie dashboard an.
dashboardId String Die ID des zu ladenden Dashboards Wenn Sie die ID nicht angeben, navigiert die App zum Standarddashboard.

HTML-Webressource

Verwenden Sie dieses Objekt als pageInput Parameter, wenn Sie eine HTML-Webressource öffnen möchten.

Die HTML-Webressource enthält die folgenden Werte.

Name Typ Beschreibung
pageType String Geben Sie webresource an.
webresourceName String Der Name der zu ladenden Webressource.
data String (Optional) Die Daten, die an die Webressource übergeben werden sollen.

Benutzerdefinierte Seite

Verwenden Sie dieses Objekt als pageInput Parameter, wenn Sie eine benutzerdefinierte Seite öffnen möchten.

Das benutzerdefinierte Seitenobjekt enthält die folgenden Werte.

Name Typ Beschreibung
pageType String Geben Sie custom an.
name String Der logische Name der zu öffnenden benutzerdefinierten Seite.
entityName String (Optional) Der logische Name der Tabelle, die in der benutzerdefinierten Seite über Param("entityName") verfügbar gemacht werden soll.
recordId String (Optional) Die ID des Tabellendatensatzes, die auf der benutzerdefinierten Seite über Param("recordId") verfügbar gemacht werden soll.

Generative Seite

Verwenden Sie dieses Objekt als pageInput Parameter, wenn Sie eine generative Seite öffnen möchten.

Damit die zielgenerive Seite verwendet recordIdwerden kann, entityNamedatamuss sie so eingerichtet sein, dass Eingabeparameter akzeptiert werden.

Das generative Seitenobjekt enthält die folgenden Werte.

Name Typ Beschreibung
pageType String Geben Sie generative an.
pageId String Die ID der zu öffnenden generativen Seite.
recordId String (Optional) Die GUID eines Datensatzes, der an die Seite übergeben werden soll.
entityName String (Optional) Der logische Name der Dataverse-Tabelle, die der recordIdTabelle entspricht.
data Objekt (Optional) Ein JSON-Objekt mit zusätzlichen benutzerdefinierten Parametern, die an die Seite übergeben werden sollen.

Beispiele zum Navigieren zu und von einer generativen Seite mithilfe der Client-API

Das navigationOptions Objekt enthält die folgenden Werte.

Name Typ Beschreibung
target Anzahl Geben Sie 1 an, um die Seite inline zu öffnen. Geben Sie 2 an, um die Seite in einem Dialogfeld zu öffnen.
Außerdem sind die übrigen Werte (Breite, Höhe und Position) nur gültig, wenn Sie in diesem Wert (Seite in einem Dialogfeld öffnen) angeben 2 .
Hinweis: Sie können Entitätslisten nur inline öffnen. Sie können Entitätseinträge, Webressourcen und generative Seiten entweder inline oder in einem Dialogfeld öffnen.
width Nummer oder Objekt (Optional) Die Breite des Dialogfelds. Um die Breite in Pixel anzugeben, geben Sie einen numerischen Wert ein. Um die Breite in Prozent anzugeben, geben Sie ein Objekt vom Typ SizeValue mit folgenden Eigenschaften an:
- value: Der numerische Wert vom Typ „Nummer”.
- unit: Die Maßeinheit vom Typ „Zeichenfolge”. Geben Sie % oder px an. Der Standardwert ist px.
height Nummer oder Objekt (Optional) Die Höhe des Dialogfelds. Um die Höhe in Pixel anzugeben, geben Sie einen numerischen Wert ein. Um die Breite in Prozent anzugeben, geben Sie ein Objekt vom Typ SizeValue mit folgenden Eigenschaften an:
- Wert: Der numerische Wert vom Typ Number.
- unit: Die Maßeinheit vom Typ „Zeichenfolge”. Geben Sie % oder px an. Der Standardwert ist px.
position Anzahl (Optional) Geben Sie 1 an, um das Dialogfeld in der Mitte zu öffnen; 2, um den Dialog auf der anderen Seite zu öffnen. Standard ist 1 (Mitte).
title String (Optional) Der Dialogtitel über dem mittleren oder seitlichen Dialog.

Rückgabewert

Gibt eine Zusage zurück. Der wert, der übergeben wird, wenn die Zusage aufgelöst wird, hängt vom Ziel ab:

  • inline: Zusage wird sofort aufgelöst und gibt keinen Wert zurück.

  • dialog: Promise resolves when the dialog closes. Ein Objekt wird nur übergeben, wenn pageType = entityRecord und Sie das Formular im Erstellungsmodus geöffnet haben. Das Ziel ist ein savedEntityReference-Array mit den folgenden Eigenschaften, um den erstellten Tabellendatensatz zu identifizieren:

    • entityType: Der logische Name der Tabelle.
    • id: Eine Zeichenfolgendarstellung eines GUID-Werts für den Datensatz.
    • name: der primäre Spaltenwert des erstellten oder angezeigten Datensatzes.

Beispiel

Die folgenden Beispiele veranschaulichen das Navigieren zu verschiedenen Seitentypen inline und in einem Dialogfeld.

Beispiel 1: Kontoliste öffnen

Öffnet die Hauptkontoliste inline.

var pageInput = {
    pageType: "entitylist",
    entityName: "account"
};
Xrm.Navigation.navigateTo(pageInput).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Beispiel 2: Öffnen Sie einen vorhandenen Kontodatensatz in einem Dialogfeld

Öffnet ein vorhandenes Kontoformular in einem Dialogfeld.

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    entityId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" //replace with actual ID
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit:"%"},
    width: {value: 70, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Beispiel 3: Ein Firmenformular im Erstellungsmodus in einem Dialogfeld öffnen

Öffnet ein Kontoformular im Erstellungsmodus in einem Dialogfeld und gibt den erstellten Datensatzverweis zurück, wenn er gespeichert wird.

var pageInput = {
    pageType: "entityrecord",
    entityName: "account"    
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit:"%"},
    width: {value: 70, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success(result) {
            console.log("Record created with ID: " + result.savedEntityReference[0].id + 
            " Name: " + result.savedEntityReference[0].name)
            // Handle dialog closed
    },
    function error() {
            // Handle errors
    }
);

Beispiel 4:Eine HTML-Webressource in einem Dialogfeld öffnen

Öffnet eine HTML-Webressource in einem Dialogfeld.

var pageInput = {
    pageType: "webresource",
    webresourceName: "new_sample_webresource.htm"
};
var navigationOptions = {
    target: 2,
    width: 500, // value specified in pixel
    height: 400, // value specified in pixel
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Beispiel 5: Öffnen einer generativen Seite mit Eingabeparametern in einem Dialogfeld

Öffnet eine generative Seite als zentriertes Dialogfeld, übergibt eine Datensatz-ID, einen Entitätsnamen und benutzerdefinierte Datenparameter. Die generative Seite muss so eingerichtet sein, dass diese Parameter akzeptiert werden.

var pageInput = {
    pageType: "generative",
    pageId: "<genPageID>", // replace with the ID of your generative page
    recordId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee", // replace with actual record GUID
    entityName: "account",
    data: { status: "active", category: "premium" }
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit: "%"},
    width: {value: 70, unit: "%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Xrm.Navigation
Navigieren zu und von einer generativen Seite
Navigieren zu und von einer benutzerdefinierten Seite (Vorschau)