カスタムディスプレイまたはエディタテンプレートでは、,DisplayName
など、特定のメタデータ属性がプロパティに定義されているかどうかを示すプロパティーを持つViewData.ModelMetadata
でモデルに関するメタデータを取得できます。しかし、私はカスタム属性を使ってプロパティに追加したカスタムメタデータにアクセスできますか?例えばカスタムディスプレイまたはエディタテンプレートから追加のメタデータ情報にアクセスできますか?
、私の見解では、私はそうのような性質を持っていると言う:
[UIHint("Whizbang")]
[SomeAttribute("foobar")]
public string LeftWhizbang { get; set; }
そして、私は以下の内容をWhizbang.cshtml
という名前のカスタム表示テンプレートを持っている:
@model string
Left Whizbang Value: @Model
私は何をしたいです属性LeftWhizbang
が属性SomeAttribute
で装飾されているかどうかを判断することができます。そうであれば、属性のMessage
プロパティ(つまり、値 "foobar")にアクセスしたいと思います。
@model string
Left Whizbang Value: @Model
@{
SomeAttributeAttribute attr = ViewData.ModelMetadata.GetAttributes(...);
if (attr != null)
{
<text>... and the value is @attr.Message</text>
}
}
が、これがすべてで可能です、または私は死んで終わりを下に探しています:
私は私のテンプレートでこのような何かを行うことができるようにしたいのですが?
非常に役に立った、共有のための感謝を! –