ASP.NET MVCの編集の複雑なタイプのModelmetadata
-
26-10-2019 - |
質問
次のように宣言されているタイプのテストの複雑な特性を含むViewModelがあります。
public class TestThing
{
[Display(Name = "String3", Prompt = "String4")]
public string Test1 { get; set; }
[Display(Name = "String5", Prompt = "String6")]
public string Test2 { get; set; }
}
このタイプの編集編集があり、その中には、各子供のプロパティのメタデータにアクセスしたいと考えています。たとえば、テンプレートが文字列用であった場合、使用してプロンプトテキストにアクセスできます @ViewData.ModelMetadata.Watermark
, 、しかし、それは複雑なタイプであるため、この方法は使用できません。
代替手段はありますか?
解決
このような各プロパティのメタデータを取得できます。
@{
var metadata = ModelMetadata
.FromLambdaExpression<TestThing, string>(x => x.Test2, ViewData);
var watermak = metadata.Watermark;
}
他のヒント
1)これをチェックしてください。
@Html.TextBoxFor
(m => m.Test1 ,
new {
@placeholder =
@ModelMetadata.FromLambdaExpression
(m=>m.Test1 ,ViewData).Watermark.ToString()
}
)
所属していません StackOverflow