2

如果我有一个Orders包含字段和的表CustomerID,那么将调用“Linq-to-SQL 类”生成的类,其中的成员称为和。到现在为止还挺好。OrderIDOrderDateOrdersCustomerIDOrderIDOrderDate

但是,如果我这样做,Html.LabelFor(m => m.OrderDate)那么生成的文本将是“OrderDate”而不是“Order Date”。

我尝试使用Order_Date作为字段名称,但这不起作用。有没有办法让它推断出更好的显示名称?

[我知道我可以使用数据注释来明确指定显示名称,但我真的不想为我的所有类/成员这样做——我只是希望它按惯例工作。]

4

3 回答 3

2

我建议您为此创建自己的 HTML Helper,例如Html.MyLabelFor.

从这里应用的规则取决于您。您可以简单地按大小写拆分单词。

于 2010-03-29T13:34:53.323 回答
2

此问题的答案中包含可满足您要求的解决方案。Asp.Net MVC 2 LabelFor 自定义文本

于 2010-03-29T13:40:40.687 回答
1

此方法利用现有的 MVC 2 架构在整个 *For 呈现方法上放置约定,而不是使用一个单独的 HTML 帮助程序,并且无需使用间隔属性名称重新标记所有内容。

如何“干燥”模型和视图模型中的 C# 属性?

本质上,您所做的是覆盖 MVC 2 的默认 ConventionModelMetadataProvider 行为,并为您提供挂钩以插入您自己的自以为是的约定。

于 2010-03-29T14:09:44.580 回答