Html.LabelFor(c=>c.MyField)
を使用する場合、誰でもどのようにテキストを指定するかについて知っています。ただMyField
は画面に表示するのに適切な名前ではないかもしれませんが、代わりに「スーパーファンタスティックフィールド」が必要ですが、オーバーロードはありません。Html.Label指定されたテキスト[ASP.NET MVC 2]
アイデア?
Html.LabelFor(c=>c.MyField)
を使用する場合、誰でもどのようにテキストを指定するかについて知っています。ただMyField
は画面に表示するのに適切な名前ではないかもしれませんが、代わりに「スーパーファンタスティックフィールド」が必要ですが、オーバーロードはありません。Html.Label指定されたテキスト[ASP.NET MVC 2]
アイデア?
あなたが使いますSystem.ComponentModel.DataAnnotations.DisplayAttribute
:
[Display(Name = "My Field")]
public string MyField { get; set; }
あなたは、リソースファイルを使用できるようになりますあなたの属性にResourceType
プロパティを設定します。
(表示名は、コンパイル時定数でなければならないことを警告して前に、.NET 4の使用System.ComponentModel.DisplayNameAttribute
。)
私はまだCP1をチェックアウトしていませんが、Scottのリリースを読みました。コードがT4によって生成されたことを思い出しています。あなたはいつもそれを改造できると思いますが、私はCP2で過負荷を提供すると思われます。
編集:ソースは常に利用できるので、メソッドを変更するだけで、T4ジェネレータを変更しても問題ありません。また、そのモードのチケットやリクエスト(何らかの形で)を入れて、次のバージョンに取り込みます。
私は仕事のプレビューをしていますが、フィールド名が説明の相手に比べて非常に偽であるため、実際には実行可能ではありません。 – Kezzer
私はV2ダウンロードしていない、まだ、私はテストすることはできませんが、私はそれがDynamicDataのように働くと信じて、あなたはあなたのモデルにこのような何かをしたい、その場合には:
[Display(Name = "The Super Fantastic Field")]
public string MyField {get;set;}
MVC 3の新しいオーバーロードはそうあなたがカスタムテストをspecifiyすることができるはずがありlabelforヘルパー。
@ Html.LabelFor(model => model.IdCode、 "Friendly Name") –
簡単な解決策は、ちょうどビューに次の行を追加します。
@Html.LabelFor(c=>c.MyField, "My Field")
5つのオーバーロードがあります。いくつかは "string label text"の第2パラメータを提供します。これは "Super Fantastic Field"に設定されます。
リソース
[Display(Name = "My_Field",ResourceType = typeof(Resource))]
public string MyField { get; set; }
第二の方法で
[Display(Name = "My Field")]
public string MyField { get; set; }
Annotatinosを追加する必要があります二つの方法
1 "直接注釈"
2 "のリソースとAnnotatinos"
直接注釈があります。リソースファイルの値はおそらくResource.resxとなります。
あなたの目的に合った使用。
私はこれを明日テストします。 – Kezzer
あなたは優勝者です。あなたは 'using System.ComponentModel; 'を持っている必要があります。 – Kezzer
私は自分のコードジェネレータにこれらを自動的に吐き出し、パスカルを使った単語の間にスペースを挿入します。魅力的な作品! – GalacticCowboy