如果我有一张桌子 Orders 与字段 CustomerID, OrderIDOrderDate, ,然后将调用"Linq-to-SQL classes"生成的类 Orders, ,成员被称为 CustomerID, OrderIDOrderDate.到目前为止还不错。

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

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

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

有帮助吗?

解决方案

该方法利用现有的MVC 2体系结构在整个 *中放置约定,以呈现渲染方法,而不是一个OFF HTML帮助者,而不必重新标记所有用间隔属性名称的所有内容。

如何在模型和ViewModels中“干燥” C#属性?

从本质上讲,您的工作是覆盖MVC 2的默认公约Modelmetadataprovider行为,并为您提供插入自己的自以为是的约定的钩子。

其他提示

我建议您为此创建自己的HTML助手 Html.MyLabelFor.

从这里申请的规则取决于您。您可以简单地将单词划分为情况。

这个问题的答案中包含了一个可用于您的要求的解决方案。 Asp.Net MVC2标签自定义文本.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top