Heim >Backend-Entwicklung >C++ >Wie kann ich DisplayName-Attributwerte in .NET lokalisieren?

Wie kann ich DisplayName-Attributwerte in .NET lokalisieren?

Barbara Streisand
Barbara StreisandOriginal
2025-01-02 19:52:39400Durchsuche

How Can I Localize DisplayName Attribute Values in .NET?

DisplayName-Attributwerte mit Ressourcen lokalisieren

In lokalisierten .NET-Anwendungen kann es wünschenswert sein, das DisplayName-Attribut von Modelleigenschaften mithilfe von lokalisierten festzulegen Ressourcen. Versuche, Ressourcen direkt innerhalb des DisplayName-Attributs zu verwenden, wie im folgenden Code gezeigt, führen jedoch zu Kompilierungsfehlern:

public class MyModel
{
  [Required]
  [DisplayName(Resources.Resources.labelForName)]
  public string name{ get; set; }
}

Um diese Einschränkung zu beheben, haben MVC 3 und .NET 4 das Display-Attribut in eingeführt System.ComponentModel.DataAnnotations-Namespace. Dieses Attribut bietet erweiterte Funktionalität, einschließlich Lokalisierungsunterstützung. So verwenden Sie es für lokalisierte DisplayName-Werte:

public class MyModel
{
    [Required]
    [Display(Name = "labelForName", ResourceType = typeof(Resources.Resources))]
    public string name{ get; set; }
}

Beachten Sie, dass für diesen Ansatz Ihre Ressourcendatei als „eingebettete Ressource“ festgelegt sein muss und Sie das benutzerdefinierte Tool „ResXFileCodeGenerator“ verwenden müssen. Vermeiden Sie die Verwendung von App_GlobalResources oder App_LocalResources mit MVC aufgrund von Einschränkungen bei deren benutzerdefinierten Tools.

Das obige ist der detaillierte Inhalt vonWie kann ich DisplayName-Attributwerte in .NET lokalisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn