2

ビューモデルのプロパティを、MVC ビューに表示するときにカスタム フォーマットを使用してフォーマットするようにマークできるようにしたいと考えています。

独自の displayformatattribute が必要で、displayformat を設定する必要があると思いますが、この displayformat を設定する方法や場所がわかりません。数値を通貨として表示したい場合は簡単です。属性のコンストラクターで DataFormatString を "{0:C}" に設定するだけです。

しかし、たとえばメールアドレスをマスクしたい (ドメイン名を削除したい) 場合、displayformat 属性または datatype 属性を使用してこれを行うにはどうすればよいでしょうか? したがって、変換したいのは文字列フィールドです。カスタム表示テンプレートなど、他のアプローチがあることは知っていますが、組み込みの htmlhelper 機能の一部が失われます。文字列の形式を変更したいだけです。そしてできれば、マスキングが必要なフィールドに属性を追加するのと同じくらい簡単にします

DataFormatString はカスタム フォーマッタを使用できないようですか?

乾杯フィル

4

1 に答える 1

0

やや似ています:構成可能な DisplayFormat 属性を作成する方法

public class CustomDisplayFormatAttribute : DisplayFormatAttribute {
    public CustomDisplayFormatAttribute() {
        //MSDN Custom Date Format string rules:http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
        DataFormatString = "{0;dddd dd MMMM YYYY}";
    }
}

次に、それとベース属性、たとえば ApplyFormatInEditMode を次のように使用できます。

[CustomDisplayFormatAttribute(ApplyFormatInEditMode = false)]
public DateTime? CreatedOn { get; set; }

日付については、サーバーとクライアントのカルチャ設定があることに注意してくださいジャバスクリプトで。

于 2014-05-28T08:16:16.437 に答える