How can I use DisplayName data annotations for column headers in WebGrid?

后端 未结 2 1862
不思量自难忘°
不思量自难忘° 2021-02-05 16:02

I have a Car class that I\'m trying to display in an MVC 3 view using the WebGrid helper. Below are the Car and it\'s metadata class.

Car class:

[Meta         


        
2条回答
  •  北荒
    北荒 (楼主)
    2021-02-05 16:19

    Ugly as hell but it could work:

    grid.Column(
        "CarName", 
        ModelMetadata.FromLambdaExpression(
            car => car.CarName, 
            new ViewDataDictionary(new Car())
        ).DisplayName
    )
    

    The problem is that the WebGrid helper is entirely based on dynamic data, absolutely no strong typing and that's one of the reasons why I hate it. The WebMatrix team at Microsoft must be real fans of the C# 4.0 dynamic feature as their entire API takes only weakly typed objects :-)

    MvcContrib Grid is much better.

提交回复
热议问题