4

モデルにいくつかのメタデータを含む複合型があります。

[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」を返したかっただけです。

4

1 に答える 1