„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich das DisplayName-Attribut in .NET-Anwendungen lokalisieren?

Wie kann ich das DisplayName-Attribut in .NET-Anwendungen lokalisieren?

Veröffentlicht am 2025-01-27
Durchsuche:720

How Can I Localize the DisplayName Attribute in .NET Applications?

Lokalisieren des DisplayName-Attributs mit Ressourcen

In lokalisierten Anwendungen ist es wünschenswert, das DisplayName-Attribut einer Modelleigenschaft basierend auf einer Ressource dynamisch festzulegen Wert. Das herkömmliche DisplayName-Attribut im System.ComponentModel-Namespace unterstützt jedoch keine Lokalisierung.

Problemumgehung mit Anzeigeattribut in MVC 3 und .NET 4

In MVC 3 mit .NET 4 bietet das Display-Attribut aus dem System.ComponentModel.DataAnnotations-Namespace eine Lösung für die Lokalisierung. Es ersetzt das DisplayName-Attribut und enthält:

[Display(Name = "labelForName", ResourceType = typeof(Resources.Resources))]

Hier ist „labelForName“ der Schlüssel in der Ressource Datei und „Resources.Resources“ ist der vollständig qualifizierte Name der Ressourcenklasse.

EmberCD Windsor Helper (Optional)

Für ASP.NET Core- und EF Core-Projekte bietet der EmberCD Windsor Helper eine ähnliche Lösung:

[Required]
[DisplayNameResource(typeof(Resources.Resources), "labelForName")]
public string name{ get; set; }

Zusätzliche Überlegungen

  • Stellen Sie sicher, dass Ihre Ressourcendatei als „Eingebettete Ressource“ festgelegt ist und das benutzerdefinierte Tool „ResXFileCodeGenerator“ verwendet.
  • Vermeiden Sie aufgrund von Kompatibilitätsproblemen die Verwendung von App_GlobalResources oder App_LocalResources mit MVC. Weitere Informationen finden Sie in der verlinkten Dokumentation.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3