Textbox (DisplayTemplate)
Konfigurationen des TextboxDisplay-DisplayTemplates. Es stellt einen Wert
schreibgeschützt als Schlüssel/Wert-Paar dar (Einbindung über
@Html.DisplayFor(...) mit [UIHint("TextboxDisplay")]). Jedes Beispiel
zeigt in Tabs die cshtml und das ViewModel; darunter die
Darstellung mit der aufklappbaren Rubrik Anleitung.
Textbox horizontal
Label und Wert nebeneinander über [DisplayAlignment(Alignment.Horizontal)].
@model DisplayTextboxHorizontalBeispielViewModel
@Html.DisplayFor(m => m.Vorname)
using System.ComponentModel.DataAnnotations;
using FMH.Komponente.Basis.Ui.Validation.DataAnnotation;
namespace FMH.Komponente.WebUI.Areas.Basis.Models
{
public class DisplayTextboxHorizontalBeispielViewModel
{
[Display(Name = "Vorname")]
[UIHint("TextboxDisplay")]
[DisplayAlignment(Alignment.Horizontal)]
public string Vorname { get; set; } = "Hans Muster";
}
}
Darstellung
Über [DisplayAlignment(Alignment.Horizontal)] werden Label und Wert nebeneinander dargestellt (CSS-Klasse siwf-display-horizontal) statt im Standard untereinander.
[Display(Name = "Vorname")]
[UIHint("TextboxDisplay")]
[DisplayAlignment(Alignment.Horizontal)]
public string Vorname { get; set; }
Ohne das Attribut gilt Alignment.Vertical (Standard). Das Attribut wird zur Renderzeit direkt über die Model-Metadaten (ToDisplayAlignment()) gelesen — kein zusätzlicher Provider nötig.
Textbox mit Hilfetext
Info-Icon mit Tooltip neben dem Label über [HelpText].
@model DisplayTextboxHilfetextBeispielViewModel
@Html.DisplayFor(m => m.Vorname)
using System.ComponentModel.DataAnnotations;
using FMH.Komponente.Basis.Ui.Validation.DataAnnotation;
namespace FMH.Komponente.WebUI.Areas.Basis.Models
{
public class DisplayTextboxHilfetextBeispielViewModel
{
[Display(Name = "Vorname")]
[UIHint("TextboxDisplay")]
[HelpText(Name = "Der amtliche Vorname gemäss Ausweis.")]
public string Vorname { get; set; } = "Hans Muster";
}
}
Darstellung
Über [HelpText] erscheint neben dem Label ein Info-Icon; der hinterlegte Text wird als Tooltip angezeigt. Der Text kommt direkt aus Name oder – mit gesetztem ResourceType – lokalisiert aus einer Ressource.
[Display(Name = "Vorname")]
[UIHint("TextboxDisplay")]
[HelpText(Name = "Der amtliche Vorname gemäss Ausweis.")]
public string Vorname { get; set; }
Textbox (Standard, vertikal)
Schreibgeschützte Darstellung eines Textwerts als Schlüssel/Wert-Paar; Label über dem Wert.
@model DisplayTextboxBeispielViewModel
@Html.DisplayFor(m => m.Vorname)
using System.ComponentModel.DataAnnotations;
using FMH.Komponente.Basis.Ui.Validation.DataAnnotation;
namespace FMH.Komponente.WebUI.Areas.Basis.Models
{
public class DisplayTextboxBeispielViewModel
{
[Display(Name = "Vorname")]
[UIHint("TextboxDisplay")]
[DisplayAlignment(Alignment.Vertical)]
public string Vorname { get; set; } = "Hans Muster";
}
}
Darstellung
Das TextboxDisplay-DisplayTemplate (Views/Shared/DisplayTemplates/TextboxDisplay.cshtml aus FMH.Komponente.Basis) stellt einen Textwert schreibgeschützt als Schlüssel/Wert-Paar dar — Label und Wert, ohne Eingabefeld. Eingebunden wird es über den ASP.NET-Core-Standardmechanismus Html.DisplayFor(...) in Kombination mit [UIHint("TextboxDisplay")] am Modell:
@Html.DisplayFor(m => m.Vorname)
[Display(Name = "Vorname")]
[UIHint("TextboxDisplay")]
public string Vorname { get; set; }
Standardmässig steht das Label über dem Wert (vertikal). Der Anzeigename kommt aus [Display(Name = "…")].
Weitere Konfigurationen
| Attribut | Wirkung |
|---|---|
[Display(Name = "…")] |
Setzt das Label des Schlüssel/Wert-Paars |
[DisplayAlignment(Alignment.Horizontal)] |
Label und Wert nebeneinander statt untereinander (siehe Beispiel «Textbox horizontal») |
[HelpText(Name = "…")] |
Info-Icon mit Tooltip neben dem Label (siehe Beispiel «Textbox mit Hilfetext») |
[AdditionalMetadata(DisplayConst.Bold, true)] |
Stellt den Wert fett dar — Voraussetzung: AdditionalMetadataProvider als IDisplayMetadataProvider in den MvcOptions registriert (sonst wirkungslos) |
[AdditionalMetadata(DisplayConst.ValueColorClass, "…")] |
Hinterlegt den Wert farblich (bg-light) — gleiche Provider-Voraussetzung wie Bold |