モデルにいくつかのメタデータを含む複合型があります。
[ComplexType]
public class ComplexModel
{
[Display("Name Label")]
public string Name { get; set; }
}
public class MainModel
{
// ...
public ComplextModel ComplexModel { get; set; }
}
このコードは正しく機能します。
Html.DisplayFor(model => model.ComplexModel.Name)
しかし、これはそうではありません。
Html.Display("ComplexModel.Name")
私でさえ、さらに進んで問題を見つけますModelMetadata.FromStringExpression
。
ModelMetadata.FromStringExpression("ComplexModel.Name", viewData)
間違った結果を返します。ModelMetadata.FromLambdaExpression(expression, viewData)
正しく動作します。
バグですか?
Html.Display("ComplexModel.Name")
この例では、正しく動作して「Name Label」を返したかっただけです。