ホームページ >バックエンド開発 >C++ >.NET で DisplayName 属性値をローカライズするにはどうすればよいですか?

.NET で DisplayName 属性値をローカライズするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-02 19:52:39426ブラウズ

How Can I Localize DisplayName Attribute Values in .NET?

リソースを使用した DisplayName 属性値のローカライズ

ローカライズされた .NET アプリケーションでは、ローカライズされた .NET アプリケーションを使用してモデル プロパティの DisplayName 属性を設定することが望ましい場合があります。リソース。ただし、以下のコードに示すように、DisplayName 属性内のリソースを直接使用しようとすると、コンパイル エラーが発生します。

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

この制限に対処するために、MVC 3 と .NET 4 では、 System.ComponentModel.DataAnnotations 名前空間。この属性は、ローカリゼーションのサポートなどの拡張機能を提供します。これをローカライズされた DisplayName 値に利用する方法は次のとおりです。

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

この方法では、リソース ファイルを「埋め込みリソース」として設定し、「ResXFileCodeGenerator」カスタム ツールを使用する必要があることに注意してください。カスタム ツールには制限があるため、App_GlobalResources または App_LocalResources を MVC で使用することは避けてください。

以上が.NET で DisplayName 属性値をローカライズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。