ドキュメントによると:
ランタイムは、非検証属性のローカライズされた文字列を検索しません。上記のコードでは、「Email」([Display(Name = "Email")] から) はローカライズされません。
DisplayAttribute でテキストをローカライズする方法を探しています。適切な方法でそれを行うための提案はありますか?
ドキュメントによると:
ランタイムは、非検証属性のローカライズされた文字列を検索しません。上記のコードでは、「Email」([Display(Name = "Email")] から) はローカライズされません。
DisplayAttribute でテキストをローカライズする方法を探しています。適切な方法でそれを行うための提案はありますか?
テキストのローカライズに使用できる を設定できResourceType
ます。DisplayAttribute
プロジェクトにリソース.resx
ファイルをMyResources.resx
追加し、フィールドにリソースを追加します。
次に、フィールドの名前とMyResources
タイプを参照しますDisplayAttribute
[Display(Name = "RememberMe", ResourceType = typeof(MyResources))]
public bool RememberMe { get; set; }
ローカライズされたリソースは自動的に取得されます (テキスト ボックスを参照)。
実際、フォロワーのための簡単な解決策を見つけました。ほとんどの場合、表示名は入力フィールドのラベルで使用されます。あなたが好きならこれをしてください:
<label asp-for="Email">@Localizer["Email"]</label>
もちろん、プロパティ名を@Html.DisplayNameFor
で渡すこともできますが、ほとんどの場合、これはすでにうまく機能しています。