gpt4 book ai didi

asp.net - 如何在 WebGrid 中为列标题使用 DisplayName 数据注释?

转载 作者:行者123 更新时间:2023-12-03 23:50:07 25 4
gpt4 key购买 nike

我有一个 Car 类,我试图使用 WebGrid 帮助程序在 MVC 3 View 中显示它。下面是 Car 和它的元数据类。

车类:

[MetadataType(typeof(CarMetadata))]
public partial class Car
{
// car implementation
}

汽车元数据类:
public class CarMetadata
{
[DisplayName("Car Name")]
[StringLength(100, ErrorMessageResourceType = typeof(ValidationText), ErrorMessageResourceName="CarNameDescriptionLength")]
[Required]
public string CarName { get; set; }
}

查看内容:
@model List<Car>
...
var grid = new WebGrid(Model, canPage: true, rowsPerPage: 10);
grid.Pager(WebGridPagerModes.NextPrevious);

@grid.GetHtml(
htmlAttributes: new { id = "grid" },
columns: grid.Columns(
grid.Column("CarName", ?????)
));

目标:我想弄清楚如何使用 DisplayName 数据注释作为 WebGrid 中的列标题文本( ????? )。有谁知道这是如何实现的?

提前致谢!

最佳答案

丑到 hell ,但它可以工作:

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

问题是 WebGrid 助手完全基于动态数据,绝对没有强类型,这也是我讨厌它的原因之一。 Microsoft 的 WebMatrix 团队一定是 C# 4.0 动态特性的忠实粉丝,因为他们的整个 API 只接受弱类型对象:-)

MvcContrib Grid好多了。

关于asp.net - 如何在 WebGrid 中为列标题使用 DisplayName 数据注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5250735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com