質問

次のように宣言されているタイプのテストの複雑な特性を含む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()
            }
     )
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top