14

ドキュメントによると:

ランタイムは、非検証属性のローカライズされた文字列を検索しません。上記のコードでは、「Email」([Display(Name = "Email")] から) はローカライズされません。

DisplayAttribute でテキストをローカライズする方法を探しています。適切な方法でそれを行うための提案はありますか?

4

5 に答える 5

15

テキストのローカライズに使用できる を設定できResourceTypeます。DisplayAttribute

プロジェクトにリソース.resxファイルをMyResources.resx追加し、フィールドにリソースを追加します。

ここに画像の説明を入力

次に、フィールドの名前とMyResourcesタイプを参照しますDisplayAttribute

[Display(Name = "RememberMe", ResourceType  = typeof(MyResources))]
public bool RememberMe { get; set; }

ローカライズされたリソースは自動的に取得されます (テキスト ボックスを参照)。

ここに画像の説明を入力

于 2016-06-17T16:20:11.107 に答える
2

実際、フォロワーのための簡単な解決策を見つけました。ほとんどの場合、表示名は入力フィールドのラベルで使用されます。あなたが好きならこれをしてください:

<label asp-for="Email">@Localizer["Email"]</label>

もちろん、プロパティ名を@Html.DisplayNameForで渡すこともできますが、ほとんどの場合、これはすでにうまく機能しています。

于 2016-12-03T01:33:40.793 に答える