Einstellungen mit ModuleSettingsPage
[ModuleSettingsPage] erzeugt eine Einstellungsseite. Die Felder verwenden dieselben
Attribute wie Action-Eingaben:
[ModuleSettingsPage(Title = "Einstellungen", Audience = ModuleUiAudience.Portal)]
public sealed class MeineEinstellungen
{
[Field(Label = "Lieblingslager", Order = 1)]
public string? FavoriteWarehouse { get; init; }
}
Pro Modul ist eine Einstellungsseite möglich. Standardmäßig erscheint sie in den
Paket-Einstellungen in Studio.
Mit Audience = ModuleUiAudience.Portal erscheint sie im App-Portal.
Gespeicherte Werte lesen Sie über IModuleConfig:
var warehouse = await config.GetAsync("favoriteWarehouse", cancellationToken);
Portal-Einstellungen gelten pro Benutzer. Werte mit [SecretField] werden dagegen
modulbezogen gespeichert und über ISecrets gelesen. Sie lassen sich auch unter
Secrets in Studio verwalten.
Werte lesen und prüfen
Als Schlüssel dient der serialisierte Property-Name, hier favoriteWarehouse.
GetAsync liefert für fehlende Werte null; GetRequiredAsync löst einen Fehler aus.
Gespeicherte Änderungen sind beim nächsten Lesen verfügbar.
Für Pflichtfelder oder Wertebereiche verwenden Sie wie bei Action-Eingaben [Required]
beziehungsweise [Range]. Diese Attribute prüfen die Eingabe beim Speichern.