5

次のように宣言されている TestThing 型の複雑なプロパティを含むビューモデルがあります。

public class TestThing
{
        [Display(Name = "String3", Prompt = "String4")]
        public string Test1 { get; set; }

        [Display(Name = "String5", Prompt = "String6")]
        public string Test2 { get; set; }
}

各子プロパティのメタデータにアクセスできるようにしたい、このタイプの EditorTemplate があります。たとえば、テンプレートが文字列の場合、 を使用して Prompt テキストにアクセスできます@ViewData.ModelMetadata.Watermarkが、複雑な型であるため、このメソッドを使用することはできません。

代替手段はありますか?

4

2 に答える 2

8

次のように、各プロパティのメタデータを取得できます。

@{
    var metadata = ModelMetadata
        .FromLambdaExpression<TestThing, string>(x => x.Test2, ViewData);
    var watermak = metadata.Watermark;
}
于 2011-03-17T09:39:10.637 に答える
2

1)これをチェックしてください。

@Html.TextBoxFor
     (m => m.Test1 , 
        new {  
              @placeholder =  
              @ModelMetadata.FromLambdaExpression 
                  (m=>m.Test1 ,ViewData).Watermark.ToString()
            }
     )
于 2012-03-26T18:01:19.157 に答える